- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
除了我使用的是嵌入式 tomcat 之外,我发现了几个具有相同问题的问题。
我尝试了我找到的所有答案,其中大部分与 ContextLoaderListener 和依赖项相关。
我注意到,当我在“mvn clean package”之后构建应用程序时,有几个关于重复的警告,但老实说,我认为这不是问题所在。我相信嵌入式 Tomcat 配置和上下文之间存在一些问题。
构建期间的日志
C:\STS\wsRestTemplate\TestDeployment>mvn clean package
...
[INFO] --- maven-jar-plugin:2.6:jar (default-jar) @ TestDeployment ---
[INFO] Building jar: C:\STS\wsRestTemplate\TestDeployment\target\embeddedApp.jar
[INFO]
[INFO] --- appassembler-maven-plugin:1.10:assemble (default) @ TestDeployment --
-
[WARNING] The usage of program name (App) is deprecated. Please use program.id i
nstead.
[INFO] Installing artifact C:\Users\e049447\.m2\repository\org\springframework\s
pring-web\4.2.5.RELEASE\spring-web-4.2.5.RELEASE.jar to C:\STS\wsRestTemplate\Te
stDeployment\target\repo\org\springframework\spring-web\4.2.5.RELEASE\spring-web
-4.2.5.RELEASE.jar
[INFO] Installing artifact C:\Users\e049447\.m2\repository\org\springframework\s
pring-aop\4.2.5.RELEASE\spring-aop-4.2.5.RELEASE.jar to C:\STS\wsRestTemplate\Te
stDeployment\target\repo\org\springframework\spring-aop\4.2.5.RELEASE\spring-aop
-4.2.5.RELEASE.jar
...
[INFO] Installing artifact C:\STS\wsRestTemplate\TestDeployment\target\embeddedA
pp.jar to C:\STS\wsRestTemplate\TestDeployment\target\repo\com\mastercard\ictt\b
atchs\TestDeployment\0.0.1-SNAPSHOT\TestDeployment-0.0.1-SNAPSHOT.jar
[INFO]
[INFO] --- maven-shade-plugin:1.3.3:shade (default) @ TestDeployment ---
[INFO] Including org.springframework:spring-web:jar:4.2.5.RELEASE in the shaded
jar.
[INFO] Including org.springframework:spring-aop:jar:4.2.5.RELEASE in the shaded
...[INFO] Including commons-io:commons-io:jar:2.2 in the shaded jar.
[INFO] Including javax.servlet:javax.servlet-api:jar:3.0.1 in the shaded jar.
[WARNING] We have a duplicate org/apache/jasper/Constants.class in C:\Users\e049
447\.m2\repository\org\apache\tomcat\tomcat-jasper\8.0.32\tomcat-jasper-8.0.32.j
ar
[WARNING] We have a duplicate org/apache/jasper/EmbeddedServletOptions.class in
C:\Users\e049447\.m2\repository\org\apache\tomcat\tomcat-jasper\8.0.32\tomcat-ja
sper-8.0.32.jar
[WARNING] We have a duplicate org/apache/jasper/JasperException.class in C:\User
s\e049447\.m2\repository\org\apache\tomcat\tomcat-jasper\8.0.32\tomcat-jasper-8.
0.32.jar
[WARNING] We have a duplicate org/apache/jasper/JspC.class in C:\Users\e049447\.
m2\repository\org\apache\tomcat\tomcat-jasper\8.0.32\tomcat-jasper-8.0.32.jar
[WARNING] We have a duplicate org/apache/jasper/JspCompilationContext.class in C
:\Users\e049447\.m2\repository\org\apache\tomcat\tomcat-jasper\8.0.32\tomcat-jas
per-8.0.32.jar
App-servlet.xml
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:context="http://www.springframework.org/schema/context"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="
http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-4.2.xsd
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context-4.2.xsd">
<context:component-scan base-package="com.mycomp.myapp.batchs.AuthFileUpload" />
<bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
<property name="prefix" value="/WEB-INF/" />
<property name="suffix" value=".jsp" />
</bean>
<bean id="multipartResolver"
class="org.springframework.web.multipart.commons.CommonsMultipartResolver" />
</beans>
网络.xml
<?xml version="1.0" encoding="UTF-8"?>
<web-app version="3.0" 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">
<display-name>Spring MVC Application</display-name>
<!-- I tried add COntextLoader Listener and explicitly point to App-servlet.xml but I don~t think it is necessary
By the way, same error with it or without -->
<!-- listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>
<context-param> <param-name>contextConfigLocation</param-name> <param-value>/WEB-INF/App-servlet.xml</param-value>
</context-param -->
<servlet>
<servlet-name>App</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>App</servlet-name>
<url-pattern>/</url-pattern>
</servlet-mapping>
<welcome-file-list>
<welcome-file>index.jsp</welcome-file>
</welcome-file-list>
</web-app>
静态主体
import org.apache.catalina.LifecycleException;
import org.apache.catalina.startup.Tomcat;
public class App
{
public static void main( String[] args ) throws LifecycleException
{
Tomcat tomcat = new Tomcat();
tomcat.setPort(8080);
tomcat.setBaseDir("C\\temp");
tomcat.addWebapp(tomcat.getHost(), "/", "C:\\temp\\");//
tomcat.start();
tomcat.getServer().await();
}
}
Index.jsp(如果我注释下面的所有行并添加一个简单的 Hello Word 字符串,它将作为欢迎页面使用)
<%@ taglib prefix="form" uri="http://www.springframework.org/tags/form"%>
<html>
<body>
<h2>Uploading a file.. </h2>
<form:form method="POST" action="uploadFile" enctype="multipart/form-data">
Upload your file please:
<input type="file" name="file" />
<input type="text" name="name">
<input type="submit" value="Upload" />
<form:errors path="file" cssStyle="color: #ff0000;" />
</form:form>
</body>
</html>
Controller
@Controller
public class FileUploadController {
@RequestMapping(value="/upload",method = RequestMethod.GET)
public String printHello(ModelMap model) {
return "index";
}
最佳答案
问题出在 web.xml 中的 servlet 映射。根据 servlet 规范,映射/覆盖了容器的默认 servlet。这意味着您的 DispatcherServlet 映射到所有没有显式映射的请求。但是,.jsp 扩展名映射到容器
的 jsp servlet。因此 index.jsp 不会通过 DispatcherServlet,因此您不能在那里使用 spring form taglib。
改为为您的 index.jsp 实现一个 Controller ,以便它通过调度程序 servlet
@Controller
public class WelcomeController{
@RequestMapping(value = "/")
public String welcome(){
return "index";
}
}
然后将您的 index.jsp 移动到 WEB-INF 文件夹以匹配您的 ViewResolver 设置。然后删除
<welcome-file-list>
<welcome-file>index.jsp</welcome-file>
</welcome-file-list>
在 web.xml 中
关于java - 未在请求的 DispatcherServlet 中找到任何 WebApplicationContext,并且未注册 ContextLoaderListener,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35875044/
我正在学习一个使用 Spring 和 Apache Camel 的教程,但我在 spring 配置方面遇到了一些问题。我不断收到有关 ContextLoaderListener 的错误,但我不确定问题
我刚开始一份使用 portlet 的新工作,一直在尝试将所有内容上传到我们的开发门户,但一直不断收到这些错误并且不确定如何解决这些错误 这是我的 web.xml 内容
我是 spring MVC 的新手。所以我从非常简单的 MVC 应用程序开始。在此应用程序中,我正在尝试提交登录表单,但出现以下提到的错误: SEVERE: Servlet.service() for
我的项目有问题。它在部署项目时给出异常。我正在使用 Tomcat7 和 JRE1.7。 maven 依赖于 web-inf/lib 配置的部署程序集一切正常。 SEVERE: Exception se
所以我的头真的很痛 - 我已经阅读了有关 Spring 中 ContextLoaderListener 的作用/用途的信息,但我不能再进一步了。 我有一个非常老的项目,我正在升级它。到目前为止,我已经
我的监听器正在填充缓存 (Terracota),如果应用程序启动时出现问题,则会抛出 ExceptionInInitializerError。我想获取服务器名称(如 HttpServletReques
我有一个应用程序,我正在使用 Spring。 在我的 web.xml 中,我使用下面的行 .... org.springfram
这个问题已经有答案了: No WebApplicationContext found: no ContextLoaderListener registered? (2 个回答) 已关闭 6 年前。 我
这个问题在这里已经有了答案: No WebApplicationContext found: no ContextLoaderListener registered? (2 个答案) 关闭 5 年前
我知道 getWebApplicationContext() 通过 ContextLoaderListener 或 ContextLoaderServlet 找到根 WebApplicationCon
我正在开发一个网络应用程序,使用 spring 3.0,hibernate。当我尝试在 WAS 7.0 上部署我的应用程序时,出现错误 - 加载监听器失败:org.springframework.we
我想同时使用 ContextLoaderListener(以便我可以将 Spring Beans 传递给我的 servlet)以及 DispatchServlet(Spring MVC)。但是,目前我
我已经google了,但没有找到满意的答案,如果你们能解释一下ContextLoaderListener和RequestContextListener之间的区别,那就太好了。 最佳答案 context
我正在尝试创建一个简单的 Spring 3 应用程序并拥有以下文件。请告诉我这个错误的原因 下面是我的 web.xml Spring2 index.jsp
我正在尝试将我的 JBOSS 5.1 应用程序迁移到 JBOSS 7.0.2。在管理控制台中,我选择部署 -> 添加内容和我的 .war 并尝试启用它。我已经解决了一些问题,但无法弄清楚这个:(总之,
我正在使用 Spring 的 ContextLoaderListener 来初始化 Web 服务客户端,但是如果在应用程序启动期间 wsdl 文档不可用,那么我的应用程序的一部分就会损坏,我不确定如何
自定义 ContextLoaderListener 类在 Websphere 中不起作用,并且引发以下错误。在 Tomcat、JBoss、Weblogic 中同样可以正常工作。 java.lang.I
我发现错误是因为在我的jsp中添加了如下几行 我检查了这两个与我的错误相关的帖子。 No WebApplicationContext found: no ContextLoaderListener
我试图在我的应用程序中避开基于 XML 的配置,并希望在代码中维护所有配置。目前 org.springframework.web.context.ContextLoaderListener 寻找 ap
我查看了一些关于 Contextloaderlistener 和应用程序上下文的文档,基于此我的理解是应用程序上下文是由 ContextLoaderListener 初始化的容器并加载所有的 Spri
我是一名优秀的程序员,十分优秀!