小编Boz*_*zho的帖子

绝对URL省略协议(方案)以保留当前页面之一

我看到了//somepage.com/resourceurl格式.例如:

<img src="//remotesite.com/image1.jpg" />
Run Code Online (Sandbox Code Playgroud)

这一点是,如果当前页面(定义img标签的页面)正在使用http,则通过http进行对远程站点的请求.如果它是https - 它是https.这消除了浏览器未完全加密页面的警告.

我的问题是 - 这种URL格式是否可以安全地用于所有浏览器.它是一个标准吗?

html url web-applications http protocol-relative

80
推荐指数
2
解决办法
3万
查看次数

使用JPA创建带有保留字名称的字段

@Column(name="open")
Run Code Online (Sandbox Code Playgroud)

使用sqlserver方言与hibernate.

[SchemaUpdate] Unsuccessful: create table auth_session (id numeric(19,0) identity not null, active tinyint null, creation_date datetime not null, last_modified datetime not null, maxidle int null, maxlive int null, open tinyint null, sessionid varchar(255) not null, user_id numeric(19,0) not null, primary key (id), unique (sessionid))
[SchemaUpdate] Incorrect syntax near the keyword 'open'.
Run Code Online (Sandbox Code Playgroud)

我希望hibernate在创建表时使用带引号的标识符.

关于如何处理这个问题的任何想法...除了重命名字段?

java sql-server orm hibernate jpa

76
推荐指数
6
解决办法
4万
查看次数

依赖注入和单例设计模式

我们如何确定何时使用依赖注入或单例模式.我在很多网站上都读到过"使用依赖注入超过单一模式"的网站.但我不确定我是否完全赞同他们.对于我的中小型项目,我肯定会看到单例模式的使用直截了当.

例如Logger.我可以使用Logger.GetInstance().Log(...) But,而不是这个,为什么我需要使用logger的实例注入我创建的每个类?

oop design-patterns dependency-injection

75
推荐指数
5
解决办法
4万
查看次数

为什么StringBuilder有String?

我刚刚StringBuilder第一次遇到并且感到惊讶,因为Java已经有一个非常强大的String类允许追加.

为什么选择String二等?

我在哪里可以了解更多信息StringBuilder

java string stringbuilder

75
推荐指数
6
解决办法
4万
查看次数

java.security.InvalidAlgorithmParameterException:在Linux上,trustAnchors参数必须为非空,或者为什么默认的信任库为空

当你谷歌这个例外:java.security.InvalidAlgorithmParameterException: the trustAnchors parameter must be non-empty,会出现多个结果.然而,没有确定的解决方案,只有猜测.

当我尝试使用SSL打开连接时,问题出现了(至少在我的情况下).它在我的Windows机器上工作正常,但是当我将它部署到linux机器(安装了sun的jre)时,它会因上述异常而失败.

问题是JRE的默认信任库由于某种原因是空的(大小只有32字节,而在Windows上是80kb).

当我将我的jre/lib/security/cacerts文件从Windows 复制到linux时,它运行正常.

问题是 - 为什么linux jre有一个空的信任存储?

请注意,这种情况发生在使用AMI linux的Amazon EC2实例上,因此可能是由于一些亚马逊政策(我认为java已预先安装,但我不确定)

java security

74
推荐指数
8
解决办法
20万
查看次数

绑定spring mvc命令对象时如何自定义参数名称

我有一个命令对象:

public class Job {
    private String jobType;
    private String location;
}
Run Code Online (Sandbox Code Playgroud)

受spring-mvc的约束:

@RequestMapping("/foo")
public Strnig doSomethingWithJob(Job job) {
   ...
}
Run Code Online (Sandbox Code Playgroud)

这适用于http://example.com/foo?jobType=permanent&location=Stockholm.但现在我需要让它适用于以下网址:
@RequestParam

显然,我不想更改我的命令对象,因为字段名称必须保持很长(因为它们在代码中使用).我该如何定制?有没有选择做这样的事情:

http://example.com/foo?jt=permanent&loc=Stockholm
Run Code Online (Sandbox Code Playgroud)

这不起作用(FormHttpMessageConverter不能应用于字段).

我正在考虑的是一个自定义消息转换器,类似于http://example.com/foo?jobType=permanent&location=Stockholm并读取目标对象上的自定义注释

java spring spring-mvc

63
推荐指数
7
解决办法
5万
查看次数

61
推荐指数
5
解决办法
6万
查看次数

为什么我们使用web.xml?

web.xml有什么用?我们为什么要使用?

<filter>
        <filter-name>wicket.mysticpaste</filter-name>
        <filter-class>org.apache.wicket.protocol.http.WicketFilter</filter-class>
        <init-param>
            <param-name>applicationClassName</param-name>
            <param-value>com.mysticcoders.WicketApplication</param-value>
        </init-param>
    </filter>

 <filter-mapping>
  <filter-name>wicket.mysticpaste</filter-name>
    <url-pattern>/*</url-pattern>
 </filter-mapping>
Run Code Online (Sandbox Code Playgroud)

这个文件管理器和文件管理器有什么作用?

java web.xml servlets java-ee

60
推荐指数
2
解决办法
10万
查看次数

使用JDBC进行批量INSERTS的有效方法

在我的应用程序中,我需要做很多插入.它是一个Java应用程序,我使用普通的JDBC来执行查询.数据库是Oracle.我已启用批处理,因此它可以节省执行查询的网络延迟.但是查询作为单独的INSERT串行执行:

insert into some_table (col1, col2) values (val1, val2)
insert into some_table (col1, col2) values (val3, val4)
insert into some_table (col1, col2) values (val5, val6)
Run Code Online (Sandbox Code Playgroud)

我想知道以下形式的INSERT是否可能更有效:

insert into some_table (col1, col2) values (val1, val2), (val3, val4), (val5, val6)
Run Code Online (Sandbox Code Playgroud)

即将多个INSERT折叠成一个.

使批量INSERT更快的任何其他技巧?

java sql performance jdbc

59
推荐指数
4
解决办法
10万
查看次数

如何在Java程序中访问SQL count()查询的值

我想使用SQL的COUNT命令获得我发现的值.通常我在getInt()getString()方法中输入我想要访问的列名,在没有特定列名的情况下我该怎么做.

我使用'AS'的方式与用于别名表的方式相同,我不确定这是否会起作用,我想不会.

Statement stmt3 = con.createStatement();
ResultSet rs3 = stmt3.executeQuery("SELECT COUNT(*) FROM "+lastTempTable+") AS count");
    while(rs3.next()){
    count = rs3.getInt("count");
    }
Run Code Online (Sandbox Code Playgroud)

java sql jdbc count

54
推荐指数
2
解决办法
11万
查看次数