我有一个带有Spring和Spring安全性的Web项目。我的web.xml:
<web-app xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"
version="3.0" >
<display-name>BillBoard
</display-name>
<session-config>
<session-timeout>
30
</session-timeout>
</session-config>
<listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>
<listener>
<listener-class>org.springframework.security.web.session.HttpSessionEventPublisher</listener-class>
</listener>
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath:security-config.xml classpath:billboard-servlet.xml</param-value>
</context-param>
<servlet>
<servlet-name>billboard</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<init-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath:security-config.xml classpath:billboard-servlet.xml</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>billboard</servlet-name>
<url-pattern>*.html</url-pattern>
</servlet-mapping>
<filter>
<filter-name>springSecurityFilterChain</filter-name>
<filter-class>org.springframework.web.filter.DelegatingFilterProxy</filter-class>
</filter>
<filter-mapping>
<filter-name>springSecurityFilterChain</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
</web-app>
在服务器日志中,我看到Spring上下文被加载了两次(Spring Bean初始化,数据库创建...)。第一次使用
DispatcherServlet进行此操作,第二次使用
ContextLoaderListener
。我该如何解决?
在本教程中,我看到如果提供了contextParam
,则不需要servlet init-params
。但是,如果我删除了初始化参数,则会出现错误:“ org.apache.catalina.LifecycleException:org.apache.catalina.LifecycleException:java.io.FileNotFoundException
:无法打开ServletContext
资源[/WEB-INF/billboard-servlet.xml]
”。Dispather Servlet在默认位置找到上下文配置。
您仍然需要servlet的上下文:
在初始化DispatcherServlet时,Spring MVC在您的Web应用程序的WEB-INF目录中查找名为[servlet-name] -servlet.xml的html" target="_blank">文件,并创建在其中定义的Bean,覆盖所有用相同名称定义的Bean的定义。在全球范围内。
你并不需要把它作为加载context-param
在ContextLoaderListener
虽然。
刚刚离开security-config.xml
的context-param
(它有去那里,因为安全是每个应用程序的全球性),并billboard-servlet.xml
为contextConfigLocation
你的servlet的,它应该工作。
当我转到<代码>/银行/1我看到了预期的账户信息。很好,很好。 当我转到<代码>/银行/1/description我看到了描述(好),但我也看到了帐户信息(不好)。 我习惯了Spring的,如果多个路径匹配,事情就会中断——但即便如此,AFAIK,在我的代码中,无论如何只有一个应该匹配? 银行。Java语言 帐户ction.java 日志输出:
问题内容: 我的活动课在这里: 和相机预览类在这里: 但是,当我测试该类时,似乎首先调用onResume(),然后在1或2秒后再次调用。因此,相机必须再次刷新。如果我根本没有onResume(),则摄像头预览稳定,但是如果我从主屏幕或其他某个应用再次切换到该应用,则会崩溃。我发现onPause()不会影响任何一个。我的代码正确吗?我应该添加/删除哪些内容以使其不会再次刷新并且在应用切换后仍然不会崩
基本上,这就是我正在做的 1) 将AlarmManager设置为执行广播接收器(BCR) 2) 从BCR启动MyActivity 3)如果我的活动没有打开,请打开屏幕 出于某种原因,我注意到当MyActivity打开时,它的流程如下所示: onCreate/onNewIntent- 我不知道为什么它会马上暂停。我注意到这只发生在屏幕被标志打开时。有人知道为什么会这样吗?有什么办法可以防止这种行为吗
问题内容: 我放 进入我的django项目。当我现在跑步时,我得到 为什么要运行两次?它应该只加载一次。 问题答案: 每个进程只能加载一次。我猜这是分叉的,并且启动了两个单独的过程。你可以打印的结果吗?
我对的理解是,它将触发观察者对当前数据的状态变化,而不是对一系列历史数据的状态变化。 目前,我有一个,它执行写操作,将非垃圾数据更改为垃圾数据。 我还提供了另一个,它观察被丢弃的数据。 请考虑以下场景。 当前有0个被丢弃的数据。 是当前活动的片段。尚未创建。 添加了%1个废数据。 现在,有%1个被丢弃的数据 我们使用导航抽屉,将替换为。 的观察者将首先接收,其中有0个被丢弃的数据 同样,的观察者将
据说 引导类加载器加载位于/jre/lib目录中的核心Java库。 null sun.misc.launcher$AppClassLoader@73d16e93 sun.misc.launcher$AppClassLoader@73d16e93 这很好。 现在,如果将Student Jar文件放入/jre/lib/ext中,输出为 我在想,在这种情况下,学生类应该从引导类加载器加载,为什么它是由应