我想使用我的控制器使用Spring MVC拦截OPTIONS请求,但它被DispatcherServlet捕获.我该如何管理?
密码学是一种广泛采用的技术,以确保机密性.不考虑实施缺陷,它有一个关键点:密钥存储.如果密钥被盗,整个系统将受到损害.
编辑:
让我指出上下文,使问题不那么广泛:
也许问题可以集中在这种情况上,但正如所指出的,秘密密钥存储的问题是横向于所采用的技术.然而,一些图书馆可能提供特殊功能,可以某种方式促进工作.一个明确的观点是,必须在安全性和实际需要之间找到权衡.为了完成分析,很明显所需的安全级别取决于要保护的信息的价值.将我们的思想转变为强制执行超级安全策略(需要付出很多努力)来保持客户的鞋子尺寸是毫无意义的.
在这里,我必须保护一个电子邮件密码(将存储在数据库中).我认为这些信息平均至关重要.
我在这里寻找的是合理努力的最佳解决方案.
所以问题非常清楚:你会在哪里存储这些信息?
.war包装里面吗?如何防止未经授权的访问来源?我们将非常感谢您的战略动机.谢谢
我对Quartz很新,我对工作生命周期有些怀疑.
假设我有一个单独的工作配置来做一些事情.
这项工作开始并结束其工作.当它再次触发它是同一个实例(可能设置为睡眠并由调度程序唤醒)或者它是一个新的作业实例(一旦作业结束它就被杀死,当再次满足触发条件时,创建一个新的作业实例) ?
我问这样的问题,因为当我调试我的应用程序(带有石英支持的Spring 3 mvc)时,我看到作业的新实例,并且每次触发作业时都会打开SimpleThreadPool $ WorkerThreadRun()的新线程,以便SimpleThreadPool $ WorkerThreadRun()线程堆积,永不终止.
我只是想知道这种行为是否正常还是我必须填补记忆;-)
谁能给我一些解释?提前致谢.
我想从我的类路径中获取一个xml文件来解组它并将其用于测试目的.我的问题是将它作为InputStream.我写了这些行,但我总是得到一个null结果.
InputStream is = getClass().getResourceAsStream("WebContent/WEB-INF/classes/testing/"+ COMPLETE_DOCUMENT + ".xml");
Run Code Online (Sandbox Code Playgroud)
当然,你在方法参数中看到的路径是我文件中的路径.我尝试了几种组合:
WebContent/WEB-INF/classes/testing/
classpath:testing/
classpath*:testing/
Run Code Online (Sandbox Code Playgroud)
但我总是得到InputStream = null.
我甚至试图切换到
ClassLoader.getResourceAsStream(...)
Run Code Online (Sandbox Code Playgroud)
但没有任何反应.我想资源的路径是错误的,但我无法弄清楚在哪里.从我的servlet.xml中,我使用类路径中的一些资源来配置PropertyPlaceholderConfigurer或Jaxb2Marshaller,只需使用语法
"classpath:folder/file.xsd"
Run Code Online (Sandbox Code Playgroud)
它完美无缺.我想要加载我的xml的文件夹是上面示例中的一个兄弟.我错过了什么?
编辑: 我尝试遵循Spring ClassPathResource帮助程序类方法,我得到一个奇怪的行为:正如我之前所说,我已经有一些资源从类路径加载启动时的一些spring bean.如果我在dardo建议的代码中使用这些资源的路径如下:
ClassPathResource cpr = new ClassPathResource("xmlschemas/lrinode.xsd");
InputStream is = cpr.getInputStream();
Run Code Online (Sandbox Code Playgroud)
我还是得到了FileNotFound Exception!当然"xmlschemas/lrinode.xsd"是我成功启动时加载的xsd.即使我从应用程序的根目录开始使用资源的完整路径,它也不起作用.
我开始认为我错过了一些微不足道的东西.
我正在使用Spring Tool Suite 3.1,我在将一个Web应用程序部署到tomcat时遇到了一些问题.
当我点击"在服务器上运行"并且服务器启动它会引发着名的:
java.lang.ClassNotFoundException: org.springframework.web.context.ContextLoaderListener
所以我检查/wtpwebapps目录以找到项目已部署,但在lib文件夹中只有几个库存在.我完全错过了他们选择背后的理由.当然,与春天相关的图书馆并不存在.有人可以帮忙吗?
这是我的org.eclipse.wst.common.commonent文件,也许它很有用:
<?xml version="1.0" encoding="UTF-8"?>
<project-modules id="moduleCoreId" project-version="1.5.0">
<wb-module deploy-name="Checkup">
<wb-resource deploy-path="/" source-path="/target/m2e-wtp/web-resources"/>
<wb-resource deploy-path="/" source-path="/WebContent" tag="defaultRootSource"/>
<wb-resource deploy-path="/WEB-INF/classes" source-path="/src/main/java"/>
<wb-resource deploy-path="/WEB-INF/classes" source-path="/src/main/resources"/>
<wb-resource deploy-path="/WEB-INF/classes" source-path="/src/test/java"/>
<wb-resource deploy-path="/WEB-INF/classes" source-path="/src/test/resources"/>
<property name="context-root" value="Checkup"/>
<property name="java-output-path" value="/Checkup/build/classes"/>
</wb-module>
Run Code Online (Sandbox Code Playgroud)
编辑:
你可以看到嵌入了STS安装的maven插件列表(没有自定义)

...换句话说:假设我有 2 个字符串声明如下:
String one = new String("yay!");
String two = new String("yay!");
Run Code Online (Sandbox Code Playgroud)
这两个字符串是两个不同的对象,但是如果我运行
if(one.equals(two))
System.out.println("equals() returns true.");
Run Code Online (Sandbox Code Playgroud)
我得到“equals() 返回 true”。这是因为 String 类覆盖了 equals() 方法以实现内容级别相等。但是,我需要访问一个引用级别的相等性(就像在 Object 中实现的那个)来区分对象一和对象二。我怎样才能做到这一点?
我试过这个:
one.getClass().getSuperclass().equals();
Run Code Online (Sandbox Code Playgroud)
尝试调用 String 一的 Object equals() 方法,但没有奏效。
有什么建议吗?
我正在寻找的东西很容易解释:我有一个必须支持意大利语和英语的表格.假设我有一个名字输入文本字段.表格标签将是:
我想要的是这样的验证错误消息
请注意我在错误消息中引用了字段名称.
我messages_en.properties有线:
errors.empty.field = the {0} field is required
registration.form.firstname = First Name
Run Code Online (Sandbox Code Playgroud)
当然还有messages_it.properties线条:
errors.empty.field = il campo {0} è richiesto
registration.form.firstname = Nome
Run Code Online (Sandbox Code Playgroud)
现在,在我的自定义验证器类中
ValidationUtils.rejectIfEmpty(errors, "firstname", "errors.empty.field", new Object[]{"registration.form.firstname"}, "the First Name is required");
Run Code Online (Sandbox Code Playgroud)
这不能正常工作.输出是"registration.form.username"字符串.我想在运行时使用适当的语言环境注入字段名称.有办法吗?
问题在于:我处于Web环境中,我的数据以某种结构化格式表示,比如XML或JSON.我想在这些表示中定位元素.
这是一个例子:
动物园的XML表示:
<?xml version="1.0" encoding="UTF-8" ?>
<zoo>
<dog>Joe</dog>
<cat>Alfred</cat>
<mouse>Ricky</mouse>
</zoo>
Run Code Online (Sandbox Code Playgroud)
同一动物园的JSON表示:
{
"zoo": {
"dog": "Joe",
"cat": "Alfred",
"mouse": "Ricky"
}
}
Run Code Online (Sandbox Code Playgroud)
说,我想打狗的名字.
我看到有几种技术可以完成任务,但它们与内容类型绑定在一起.XML有XPath或Xpointer,JSON有JSONPath等等.
问题是:如果XML和JSON是表示结构化信息的两种方式(几乎相同),您是否知道一些高级的,与实现无关的符号,它不受特定表示的约束?
约束:
请考虑我不能使用普通的URL机制.我的意思是,我不能做类似的事情http://authority/.../zoo/dog.
这里的资源是zoo,我需要遍历其内容(将其视为内容).
只是为了澄清一点,类似的东西http://authority/.../zoo#dog可以做到这一点,因为它将资源名称(前面#的内容)与内容名称(后面的内容)分开,#但我不确定是否以这种方式使用它可以考虑标准与否.此外,#策略要求使用锚点注释资源,这对我的情况来说是不可取的.
java ×6
spring ×3
classpath ×1
eclipse ×1
encryption ×1
http ×1
json ×1
locale ×1
localization ×1
maven ×1
methods ×1
object ×1
pointers ×1
spring-3 ×1
spring-mvc ×1
tomcat ×1
validation ×1
xml ×1
xpath ×1