项目在IDEA中搭建的,webapp文件下的结构如下所示:
|webapp
---- static //存放的js、css等文件位置
-------- js
-------- css
---- WEB-INF
-------- web.xml
-------- index.jsp
-------- login.jsp
下面是我的web.xml文件DispatcherServlet的配置:
<!-- spring mvc servlet --> <servlet> <servlet-name>springMvc</servlet-name> <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class> <init-param> <param-name>contextConfigLocation</param-name> <param-value>classpath:spring-mvc.xml</param-value> </init-param> <load-on-startup>1</load-on-startup> </servlet> <servlet-mapping> <servlet-name>springMvc</servlet-name> <url-pattern>/</url-pattern> </servlet-mapping> <welcome-file-list> <welcome-file>/index.jsp</welcome-file> </welcome-file-list>
spring-mvc的部分配置如下:
<!-- 自动扫描controller包下的所有类,使其认为spring mvc的控制器 --> <context:component-scan base-package="com.myjob.controller"/> <mvc:resources location="/static/" mapping="/static/**" cache-period="864000"/>
index.jsp文件内容很简单,就是一个跳转链接。
<%@ taglib prefix="logic" uri="http://struts.apache.org/tags-logic" %> <%@ page contentType="text/html;charset=UTF-8" language="java" %> <html> <head> <title></title> </head> <body> <a href="/welcome">连接</a> </body> </html>
对应的Controller代码如下:
@Controller @RequestMapping("/") public class WelcomeController { @RequestMapping("welcome") public String welcome() { return "login"; } }
login.jsp页面中引入了我自己下载的jquery库,引入代码如下:
<script src="/static/js/jquery-3.1.0.min.js"></script>
我在spring-mvc.xml文件中。首先没有配置<mvc:resources location="/static/" mapping="/static/**" cache-period="864000"/>的时候,网页可以正常跳转(但是js、css引入报404 not found的错误)。
后来在网上查找解决方法后,加上了上述的配置,但是这个时候网页跳转却出现了问题。报错如下:No mapping found for HTTP request with URI [/welcome] in DispatcherServlet with name 'springMvc'。
请教下这是为什么,该怎么修改?感激不尽!