我想确定我的Java程序以编程方式运行的主机的操作系统(例如:我希望能够根据我是在Windows还是Unix平台上加载不同的属性).100%可靠性最安全的方法是什么?
我需要将Java中的当前年份确定为整数.我可以使用java.util.Date(),但它已被弃用.
给出以下HQL查询:
FROM
Foo
WHERE
Id = :id AND
Bar IN (:barList)
Run Code Online (Sandbox Code Playgroud)
我:id使用Query对象的setInteger()方法设置.
我想设置:barList一个List对象,但看看Hibernate文档和方法列表,我看不出明显的选择使用哪个.有任何想法吗?
我目前正在研究如何使用Windows身份验证而不是SQL Server身份验证从我的Java EE Web应用程序连接到SQL Server数据库.我从Tomcat 6.0运行此应用程序,并使用Microsoft JDBC驱动程序.我的连接属性文件如下所示:
dbDriver = com.microsoft.sqlserver.jdbc.SQLServerDriver
dbUser = user
dbPass = password
dbServer = localhost:1433;databaseName=testDb
dbUrl = jdbc:sqlserver://localhost:1433
Run Code Online (Sandbox Code Playgroud)
使用SQL Server身份验证时,以这种方式连接到SQL Server数据库时没有任何问题.
有什么方法可以检索用户的Windows身份验证的凭据并使用该身份验证的SQL Server?
更新:我知道在ASP.net中有一种方法来设置Windows身份验证以访问webapp,这正是我正在寻找的,除了我想将该令牌传递给SQL Server以访问数据库.
如果我在web.xml文件中没有指定以下内容:
<session-config>
<session-timeout>10</session-timeout>
</session-config>
Run Code Online (Sandbox Code Playgroud)
什么是我的默认会话超时?(我正在运行Tomcat 6.0)
我想建立一个廉价的Linux机器作为Web服务器来托管各种Web技术(我想到PHP和Java EE,但我希望将来也可以尝试使用Ruby或Python).
我非常精通设置Tomcat在Linux上运行以提供Java EE应用程序,但我希望能够打开这个服务器,即便只是因为我可以创建一些我可以在工作时使用的工具办公室.我配置Java EE站点的所有经验都是针对Intranet应用程序的,我们被告知不要专注于为外部用户保护页面.
您有什么建议以足够安全的方式设置个人Linux Web服务器以打开外部流量?
我最近一直在开发一些JSF应用程序,并且对Web组件API的不一致感到不安.
我注意到在服务器端代码中的JSF组件对象上调用.getValue()或.getSubmittedValue()时存在极不可预测的行为.有时当我在下拉列表框中调用.getValue()时,我注意到我得到了值,因为它是在我选择我的值之前(所以从最后一页刷新的值),其中.getSubmittedValue()获取我是正确的价值,因此:
UIInput name = new UIInput(); // This is the control I have in a bean.
public void submit(ActionEvent ae)
{
someMethod(name.getValue().toString()); // Retrieves the "old" value
someMethod(name.getSubmittedValue().toString()); // Retrieves the correct value
}
Run Code Online (Sandbox Code Playgroud)
另外,我注意到在表单字段上调用.getSubmittedValue()有时会导致空指针异常,因为该值尚未在组件对象中实例化,在这种情况下,当我在那种情况下调用.getValue()时正确的值,例如:
HtmlInputText name = new HtmlInputText(); // This is the control I have in a bean.
public void submit(ActionEvent ae)
{
someMethod(name.getValue().toString()); // Retrieves the correct value
someMethod(name.getSubmittedValue().toString()); // Throws NullPointerException
}
Run Code Online (Sandbox Code Playgroud)
这只是JSF框架的一个"怪癖",还是我只是错误地使用了API COMPLETELY?任何对这两种方法的见解都将非常感激.干杯.
我正在尝试在ubuntu 10.04上使用s3cmd与本地文件夹同步.这非常适合将本地驱动器中的内容传送到S3.但是,我希望文件ACL是"公共的",但所有文件都没有它.
在我的.s3cfg文件中,我设置:
acl_public = True
Run Code Online (Sandbox Code Playgroud)
我试过了:
s3cmd sync -P --delete-removed "$TARGETFOLDER" "s3://$BUCKET/"
Run Code Online (Sandbox Code Playgroud)
我也尝试过:
s3cmd sync --acl-public --delete-removed "$TARGETFOLDER" "s3://$BUCKET/"
Run Code Online (Sandbox Code Playgroud)
并且,对于踢,也试过这个:
s3cmd sync -P --acl-public --delete-removed "$TARGETFOLDER" "s3://$BUCKET/"
Run Code Online (Sandbox Code Playgroud)
有任何想法吗?
更新
我已将目标存储区上的ACL设置为经过身份验证的用户和管理员的"读/写/完全控制",并为Everyone设置了只读.
我正在与Cassandra和Thrift库做一些工作.我意识到这些是非常早期的库,并且(毫无疑问)会在某些时候发生变化.
我一直在使用以下链接来帮助设置我的C#代码来写入和读取我的Cassandra服务器(我在本地VirtualBox中的Ubuntu Server实例中运行).我已经确认了简单的读/写功能.
我遇到问题的地方是执行以下方法(使用Cassandra附带的thrift.definition文件为我生成):
public void send_get_count(string keyspace, string key, ColumnParent column_parent, ConsistencyLevel consistency_level)
Run Code Online (Sandbox Code Playgroud)
这是我的设置代码:
TTransport _transport;
TProtocol _protocol;
Cassandra.Client _client;
public Test()
{
_transport = new TSocket("192.168.56.101", 9160);
_protocol = new TBinaryProtocol(_transport);
_client = new Cassandra.Client(_protocol);
}
Run Code Online (Sandbox Code Playgroud)
我的调用代码如下所示:
public void GetAllBlogEntries()
{
var timestamp = DateTime.Now.Millisecond;
var keyspace = "Keyspace1";
var utf8Encoding = System.Text.Encoding.UTF8;
var columnParent = new ColumnParent() {Column_family = "BlogEntries"};
var predicate = new SlicePredicate()
{
Slice_range = new SliceRange()
{
Start = new byte[0], …Run Code Online (Sandbox Code Playgroud)