一、导包
1、spirng四大核心包+spring-web、spring-webmvc和spring-aop
Spring-beans-XXXX.RELEASE.jar (xxxx为版本号)
Spring-context-XXXX.RELEASE.jar
Spring-core-XXXX.RELEASE.jar
Spring-expression-XXXX.RELEASE.jar
Spring-aop-XXXX.RELEASE.jar
Spring-web-XXX.RELEASE.jar
Spring-webmvc-XXXX.RELEASE.jar
对于maven只需要导入springmvc即可
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-webmvc</artifactId>
<version>5.1.4.RELEASE</version>
</dependency>
2、导入HttpServlet所在的servlet-api.jar
这个包在tomcat的lib文件夹下
二、web.xml配置
如果没有web.xml
1、转换为web项
如果开始建立就是web项目就不需要,maven建立的简单项目就需要,如果不是web项目下一步可能出问题
2、项目上点击右键---->Properties---->Project Facets---->Convert to faceted form---->Dynamic Web Module
项目右键---->Properties—>java EE Tools—>第二个选项
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" 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>zz</display-name>
<welcome-file-list>
<welcome-file>index.html</welcome-file>
<welcome-file>index.htm</welcome-file>
<welcome-file>index.jsp</welcome-file>
<welcome-file>default.html</welcome-file>
<welcome-file>default.htm</welcome-file>
<welcome-file>default.jsp</welcome-file>
</welcome-file-list>
<!-- 配置的地方----------------------------------------------------------------- -->
<!-- 1、添加前端控制器- -->
<servlet>
<servlet-name>springmvc</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<!-- 修改默认的 servlet 对象 springmvc 配置文件名字 -->
<!--默认名字是springmvc-servlet.xml -->
<init-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath:springmvc.xml</param-value>
</init-param>
</servlet>
<!--2、拦截设置 -->
<servlet-mapping>
<servlet-name>springmvc</servlet-name>
<url-pattern>/</url-pattern>
</servlet-mapping>
<!-- 配置完毕----------------------------------------------------------------- -->
</web-app>
三、配置springmvc.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:p="http://www.springframework.org/schema/p"
xmlns:context="http://www.springframework.org/schema/context"
xsi:schemaLocation="
http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans.xsd
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context.xsd
http://www.springframework.org/schema/mvc
http://www.springframework.org/schema/mvc/spring-mvc.xsd">
<!---试图解析器可以不配置使用默认的--->
<!---配置controller--->
<bean id="/hello" class="zz.zt"></bean>
</beans>
四、写cotroller
package zz;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.springframework.web.servlet.ModelAndView;
import org.springframework.web.servlet.mvc.Controller;
public class zt implements Controller{
@Override
public ModelAndView handleRequest(HttpServletRequest request, HttpServletResponse response) throws Exception {
// TODO Auto-generated method stub
return new ModelAndView("/WEB-INF/hello.jsp");
}
}
五、写jsp
WEB-INF右键建立一个名为hello.jsp的文件,修改文件
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
<h3>成功了哦</h3>
</body>
</html>
六、建立server
右键new,然后在新生成的server上右键——>open修改成如下
这里注意的就是severlocations选择第二项,deploy path改成webapps
六、项目启动及各种问题
启动项目后,浏览器输入
http://localhost:8080/zz/hello
如果出现“成功了哦”,则成功,可以深入学习了。
可能出现的问题
1、浏览器404控制台WARNING: No mapping for GET /zz/hell
浏览器404说明输入的网址与tomcat虚拟资源路径的映射不匹配。
但是控制出现了 No mapping说明tomcat的虚拟资源路径映射是没有问题的。只是没有对应的controller。
解决办法:
检查spring.xml中配置的controller的id是否少了/,名字是否正确
2、org.springframework.web.servlet.DispatcherServlet noHandlerFound
错误
这是因为tomcat把项目发布到webapps之后的配置文件的文件夹lib下没有maven引入的包,需要自己导入或者:
在项目上右键properties
Web Deployment Assembly->Add -> Java Build Path Entries -> Next -> Maven Dependencies -> Finish -> Ok