我正在使用SpringMVC和JavascriptMVC制作一个示例Web应用程序,部署了Tomcat 7.我在我的应用程序中集成了Spring安全性和Spring MVC我得到了Mkyong的这篇文章的帮助 http://www.mkyong.com/spring-security/spring-security-form-login-using-database/ 现在我的应用程序在tomcat上部署时运行正常,但现在我想在我的应用程序中添加Client Side MVC,即JavascriptMVC,我想在我的应用程序中添加js文件等脚本资源。
以下是我的应用程序流程,用户使用
启动应用程序“// localhost:8080 / SpringMVC(应用程序名称)/ welcome(/ welcome由控制器重定向到hello.jsp页面)”
这显示登录页面,一旦用户凭据写入,他就会进入hello.jsp页面。在这个页面中我添加了我的JacascriptMVC代码并在标签中引用了一个js文件,并且应用程序在我的浏览器本地运行良好但是当我在tomcat上部署它时它说资源不可访问404错误并且只显示基本的html,而不能访问js和css文件。
我尝试了很多方法来访问资源,比如
<script src='./WebContent/javascriptmvc/steal/steal.production.js'/>
<script src='WebContent/javascriptmvc/steal/steal.production.js'/>
<script src='/WebContent/javascriptmvc/steal/steal.production.js'/>
但都犯了同样的错误。
我的war文件的应用程序目录结构
-SpringMVC
-WEB-INF
-pages
-hello.jsp
-login.jsp
-META-INF
-WebContent
-javscriptmvc
-steal
-steal.production.js
任何帮助都将非常感谢,谢谢。 法赫德
答案 0 :(得分:0)
您的Spring MVC调度程序servlet必须在/
右侧 -
<servlet>
<servlet-name>mvc-dispatcher</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>mvc-dispatcher</servlet-name>
<url-pattern>/</url-pattern>
</servlet-mapping>
如果是这样,也将<mvc:default-servlet-handler />
添加到您的上下文中,这将调用静态资源到容器的默认servlet而不是Spring试图处理它
此外,请使用以下绝对路径引用您的资源:
<script src='${pageContext.request.contextPath}/WebContent/javascriptmvc/steal/steal.production.js'/>
答案 1 :(得分:0)
我得到了解决问题,感谢响应的人.... 我在servlet xml文件中添加了这段代码,
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:mvc="http://www.springframework.org/schema/mvc"
xmlns:util="http://www.springframework.org/schema/util"
xmlns:context="http://www.springframework.org/schema/context"
xmlns:oxm="http://www.springframework.org/schema/oxm"
xsi:schemaLocation="http://www.springframework.org/schema/oxm
http://www.springframework.org/schema/oxm/spring-oxm-3.0.xsd
http://www.springframework.org/schema/mvc
http://www.springframework.org/schema/mvc/spring-mvc-3.0.xsd
http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
http://www.springframework.org/schema/util
http://www.springframework.org/schema/util/spring-util-3.0.xsd
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context-3.0.xsd">
<context:component-scan base-package="com.mkyong.common.controller" />
<mvc:annotation-driven />
<mvc:resources mapping="/resources/**" location="/resources/" />
然后在jsp文件中我添加了这个来加载js文件
<script type='text/javascript' src="${pageContext.request.contextPath}/resources/javascriptmvc/steal/steal.production.js"></script>
我也改变了目录strcuture
-webapps
-WEB-INF
-web.xml
-mvc-dispatcher0servlet.xml
-pages
-hello.jsp
-resources
-javscriptmvc
-steal
-steal.production.js