Chrome浏览器默认阻止混合内容.如何调整我的设置/配置以允许混合内容,而无需每次都对UI进行任何调整?
我找到了两个解决方案,但它们都不起作用:
--allow-running-insecure-content标志添加到命令行.我是这样做的: "C:\Program
Files\Google\Chrome\Application\chrome.exe"
--allow-running-insecure-content.然而,这没有任何区别.如果我尝试在双引号内添加标志,那么Windows会抱怨说它无效.那么我现在对最新版本的Chrome有什么选择?
我想知道如何使用MyBatis 3和Spring 3使用insert语句实现批处理操作?
例如,以下是目前正在进行的操作:
spring.xml:
<bean id="jndiTemplateDatasource" class="org.springframework.jndi.JndiTemplate">
<property name="environment">
<props>
<prop key="java.naming.factory.initial">${context.factory}</prop>
</props>
</property>
</bean>
<bean id="dataSource" class="org.springframework.jndi.JndiObjectFactoryBean">
<property name="jndiTemplate" ref="jndiTemplateDatasource"/>
<property name="jndiName" value="${connectionpool.jndi}"/>
</bean>
<bean id="transactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
<property name="dataSource" ref="dataSource"/>
</bean>
<tx:annotation-driven transaction-manager="transactionManager"/>
<bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
<property name="dataSource" ref="dataSource" />
<property name="configLocation" value="classpath:mybatis-config.xml"/>
</bean>
<bean class="org.mybatis.spring.mapper.MapperScannerConfigurer">
<property name="basePackage" value="com.test" />
</bean>
Run Code Online (Sandbox Code Playgroud)
MyService.xml:
<insert id="insertMyRecord" parameterType="com.test.MyRecord" >
insert into ... // code removed
</insert>
Run Code Online (Sandbox Code Playgroud)
MyService.java:
public interface MyService {
public void insertMyRecord (MyRecord);
}
Run Code Online (Sandbox Code Playgroud)
MyController.java:
@Controller
public class MyController …Run Code Online (Sandbox Code Playgroud) 试图阻止在Firefox上确定一个keydown事件,<select>但它不起作用.
任何解决方法?
曾经有一些甚至是IE处理的东西,但Firefox却没有!
看到这里的代码:
<select id="select">
<option value="1">Monday</option>
<option value="2">Tuesday</option>
<option value="3">Wednesday</option>
<option value="4">Thursday</option>
<option value="5">Friday</option>
<option value="6">Saturday</option>
<option value="7">Sunday</option>
</select>
$(document).ready(function() {
$("#select").keydown(function (event) {
event.preventDefault();
event.stopPropagation();
});
});
Run Code Online (Sandbox Code Playgroud) 我在 Application.java 中创建一个像这样的数据源:
@Bean
@ConfigurationProperties("datasource")
public DataSource dataSource() {
return DataSourceBuilder.create().build();
}
Run Code Online (Sandbox Code Playgroud)
但它返回一个带有池的托管数据源。由于我正在使用的数据库的特定类型,我想禁用池。
做到这一点最简单的方法是什么?
我有一个Controller与一个用@RequestMapping映射的方法,它返回一个JSON格式的对象,所以它也有@ResponseBody.获取它应该返回的对象的一部分是对象的wait(),在生产者/消费者类型的情况下.
客户端当然可以随时取消它们的请求,但我希望能够在客户端取消时中断控制器正在执行的wait()命令.目前,ajax请求会在statusType超时时抛出客户端错误,我可以在客户端处理它.但它似乎仍然在服务器端等待我要清理的线程.
但是怎么样?
我似乎记得在旧的Web应用程序中收到Socket Closed类型的错误,我没有看到WebLogic 10.3上的这个Spring 3应用程序发生了这种情况
当控制器坐在wait()上时,当客户端请求被取消时,我看到这样的记录:
"<[STUCK] ExecuteThread:'0'代表队列:'weblogic.kernel.Default(自我调整)'一直忙于"623"秒处理请求等..."
我正在尝试调试我的应用程序中的问题,我已经缩小到涉及正则表达式的特定情况,导致Chrome窒息!在Firefox中尝试相同的代码可以正常工作.此外,如果我减少我的'样本'文本以运行正则表达式也可以.
什么给出了什么?
这是jsfiddle:http://jsfiddle.net/XWKRb/1/ (这将无法初始化,因为如果你获得与我相同的结果,Chrome会窒息)
我在jsfiddle中输入的代码是:
var rgx = /^(\d+([,|;]?\d*))*$/;
var sample = '40162690,40162755,40162691,40168355,40168357,40162726,40162752,40162729,40428707 ,40162740,40162546';
alert("Test is "+rgx.test(sample));
Run Code Online (Sandbox Code Playgroud)
也许有更好的方法来编写我的正则表达式来避免这个问题?目标是正则表达式应该捕获由逗号或分号分隔的一串数字.
我正在通过Oracle的Sybase服务器的数据库链接运行查询.
在它的where子句是对日期的限制,我希望它绑定到sysdate,所以像这样:
从some_remote_view中选择*,其中some_numeric_key = 1,some_date> sysdate + 2
问题是,当我解释计划时,只有条件some_numeric_key = 1出现在实际的sql中才会远程连接到sybase服务器.甲骨文希望能够执行日期过滤器.
这导致性能噩梦 - 我需要远程日期过滤器以使此查询快速运行
即使我尝试将sysdate强制转换为类似这样的charcater字符串:to_char(sysdate-2,'YYYY-MM-DD')
它仍然没有远程.
有什么办法可以让Oracle通过db链接到Sybase远程过滤这个日期过滤器吗?
我不明白为什么 Hibernate 试图在它为空时将此字段设置为 VARBINARY。
Java 数据类型为 BigDecimal Oracle 数据类型为 Float
它是这样设置的:
entityManager.createNamedQuery("blah").setParameter("target_field", object.sourceValue)
Run Code Online (Sandbox Code Playgroud)
再次 - sourceValue 是一个 BigDecimal,当我调试它时,该值为空。
当它尝试执行此更新时,我收到 oracle 错误:
ORA-00932: inconsistent datatypes: expected NUMBER got BINARY
Run Code Online (Sandbox Code Playgroud)
这是控制台日志中此属性的显示内容:
o.h.type.descriptor.sql.BasicBinder : binding parameter [8] as [VARBINARY] - [null]
Run Code Online (Sandbox Code Playgroud)
如果我在执行更新之前在 Java 中做了这个愚蠢的 hack:
if (object.sourceValue == null) object.sourceValue = new java.math.BigDecimal(0);
Run Code Online (Sandbox Code Playgroud)
然后它运行良好。所以这个错误的原因绝对不是当字段为空时hibernate做错了什么。
我该如何解决这个问题,以便我可以将字段设置为 null 而不会在休眠状态下对其进行错误处理?
在数据库中,该字段可以为空。
我有一个控制器方法,如下所示:
@RequestMapping(headers = "Accept=application/json;charset=utf-8", value = "/test", method = RequestMethod.GET)
@ResponseBody
public Blah test(@ModelAttribute MyObject parms, HttpServletRequest request) throws Exception {
// blah blah
}
Run Code Online (Sandbox Code Playgroud)
MyOBject看起来像这样:
public class MyObject{
@DateTimeFormat(iso = DateTimeFormat.ISO.DATE_TIME)
private Calendar someDate;
// blah blah setters getters
Run Code Online (Sandbox Code Playgroud)
当我通过浏览器调用此方法时:
http://localhost:8080/blah/test?someDate=2011-07-11T21%3A28%3A59.564%2B01%3A00
Run Code Online (Sandbox Code Playgroud)
我收到错误400 - 错误请求.
我一直在尝试使用someDate的各种不同值(总是使用URL编码器来编码特殊字符)并且没有任何作用.我试过的所有(URL前编码):
2000-10-31 01:30:00.000-05:00
2011-07-11T21:28:59.564 + 01:00
2014-04-23T13:49:28.600Z
我知道日期不匹配我只是想让Spring将这个该死的日期解析为我的Calendar对象!! (虽然我真的希望它是一个java.sql.Timestamp,但这可能更难完成)
我该怎么做呢?
我写错了日期吗?我在ModelAttribute中对属性使用了错误的注释(注意我有很多其他参数,所以我将它们捆绑在ModelAttribute对象中,不想使用@RequestParm)
日志文件中显示的错误:
Field error in object 'myObject' on field 'someDate': rejected value [2011-07-11T21:28:59.564+01:00]; codes [typeMismatch.myObject.someDate,typeMismatch.someDate,typeMismatch.java.util.Calendar,typeMismatch]; arguments [org.springframework.context.support.DefaultMessageSourceResolvable: codes [myObject.someDate,someDate]; arguments []; default message [someDate]]; default …Run Code Online (Sandbox Code Playgroud) 如何在从 Maven 运行的 Spring Boot 中添加额外的类路径条目?
我想我需要在我的 pom.xml 中添加这样的东西:
<configuration>
<additionalClasspathElements>
<additionalClasspathElement>C:/resources</additionalClasspathElement>
</additionalClasspathElements>
</configuration>
Run Code Online (Sandbox Code Playgroud)
但是,我不知道什么插件适用。
由于集群环境中的跨域问题,我试图使用jsonp数据类型执行ajax请求。
我可以向没有@RequestBody参数映射的方法发出jsonp请求,但是当我尝试使用@RequestBody参数实现RequestMapping时,出现415不支持的媒体类型错误。
通常,当我遇到此问题时,这是由于某些属性未正确在发布的json对象与其在Spring中映射到的Java对象之间正确映射所致。但是我能找到的唯一差异是,使用jsonp会添加一个名为callback的参数和一个带有下划线“ _”的参数。
所以我在我的Java对象中添加了标签@JsonIgnoreProperties(ignoreUnknown = true),并认为应该可以解决该问题,但是仍然会引发此错误。
我还有什么需要做的吗?
编辑:我现在在Spring的调试日志输出中看到此堆栈跟踪:org.springframework.web.HttpMediaTypeNotSupportedException:内容类型'application / octet-stream'不支持
$.ajax({
url : 'http://blah/blah.html',
data : { abc : '123' }, (I also tried to JSON.stringify the object but no difference)
dataType : 'jsonp',
success : function(response) {
alert('ok '+JSON.stringify(response));
},
fail : function(response) {
alert('error'+JSON.stringify(response));
}
});
Run Code Online (Sandbox Code Playgroud)
Spring控制器是:
@RequestMapping({ "blah/blah" })
@ResponseBody
public ReturnObject getBlahBlah (@RequestBody MyObject obj) throws Exception {
}
Run Code Online (Sandbox Code Playgroud)
参数对象是:
@JsonIgnoreProperties(ignoreUnknown = true)
public class MyObject {
private String abc;
// getter and setter for …Run Code Online (Sandbox Code Playgroud) 我有一个servlet过滤器声明如下:
@Component
public class BlahBlahFilter extends OncePerRequestFilter implements Filter {
Run Code Online (Sandbox Code Playgroud)
声明如下的属性:
@Autowired
@Qualifier("appProperties")
AppProperties properties;
Run Code Online (Sandbox Code Playgroud)
我在应用程序的许多组件中都有相同的Autowired声明,并且没有任何问题 - 但它们都是@Component标签的控制器,服务和其他misc内容
但是这个过滤器类被忽略了,我无法弄清楚如何让Spring将属性注入其中.
我注意到在我的调试日志文件中,这是在组件扫描期间写在此类名旁边的:
"Ignored because not a concrete top-level class"
Run Code Online (Sandbox Code Playgroud)
咦?是的,它是一个具体的类,它不是抽象的,也不是一个接口.看起来非常腥....
我能做什么?
我看到了其他一些主题,他们绝对没有帮助.他们都没有接受答案,也没有一个帖子帮助我的情况.
其他相关的代码段可能会有所帮助:
web.xml中:
<filter>
<filter-name>blahBlahFilter</filter-name>
<filter-class>com.blah.BlahBlahFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>blahBlahFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
<servlet>
<servlet-name>springmvc</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<init-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath:spring-mvc.xml</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
Run Code Online (Sandbox Code Playgroud)
弹簧mvc.xml:
<context:annotation-config/>
<context:component-scan base-package="com.blah"/>
<mvc:annotation-driven/>
Run Code Online (Sandbox Code Playgroud)