【流程】
user发送request,DispatcherServlet(等同于Controller控制器),控制器接收到请求,来到HandlerMapping(在配置文件中配置),HandlerMapping会对URL进行解析,并判断当前URL该交给哪个controller来处理,找到对应的controller之后,controller就跟server、Javabean进行交互,得到某一个值,并返回一个视图(ModelAndView过程),Dispathcher通过ViewResolver视图解析器,找到ModelAndView对象指定的视图对象,最后,视图对象负责渲染返回给客户端。
下面将通过一个具体的实例来讲述操作流程。
【开发环境】
win7
jdk1.8.0_144
Tomcat8.5.16
IntelliJ IDEA 2017.2
【具体操作如下】
1.创建spring mvc工程,设定project name。这里取名字为springmvc_hello。
2.创建完成后,结构如下图示。
3.现在开始修改基本的配置文件,其中web.xml是用来启动DispatcherServlet的。新建之后的web.xml文件是有初始设置的,我们只需根据自己的需要稍加修改就好。系统自带的配置如下:
这里只需要修改一个地方,将url-pattern地方修改成“/”。
3.现在开始修改dispatcher-servlet.xml文件,这个文件主要用来配置HandlerMapping。修改完成后,如下所示:
-
<?xml version= "1.0" encoding= "UTF-8"?>
-
<beans xmlns= "http://www.springframework.org/schema/beans"
-
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.xsd">
-
<bean name= "/welcome.html" class= "com.test.controller.WelcomeController"></bean>
-
<bean class= "org.springframework.web.servlet.view.InternalResourceViewResolver">
-
<property name= "prefix" value= "/WEB-INF/jsp/"/>
-
<property name= "suffix" value= ".jsp"/>
-
</bean>
-
</beans>
其中,class="com.test.controller.WelcomeController"表示的是src下的路径。
这段代码 <property name="prefix" value="/WEB-INF/jsp/"/>,其中value="",也表示路径。
下面开始创建包com.test.controller,在包里面新建class,名字为:WelcomeController.java。在WEB-INF下创建文件夹jsp,在jsp中创建文件welcome.jsp文件。这个文件的名称需要与controller中,WelcomeController类的方法中的返回值return new ModelAndView(“welcome”)一致。
创建完成后结构如下所示:
4.在类WelcomeController中,书写如下代码:
-
package com.test.controller;
-
-
-
import org.springframework.web.servlet.ModelAndView;
-
import org.springframework.web.servlet.mvc.Controller;
-
-
import javax.servlet.http.HttpServletRequest;
-
import javax.servlet.http.HttpServletResponse;
-
-
/**
-
* Created by: zs
-
* Date-Time: 2017/8/9 19:05
-
*/
-
public class WelcomeController implements Controller {
-
-
-
public ModelAndView handleRequest(HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse) throws Exception {
-
//System.out.println("welcome");
-
return new ModelAndView( "welcome");
-
}
-
}
5.另外,在welcome.jsp文件中的代码为:
-
<%@ page contentType= "text/html;charset=UTF-8" language= "java" %>
-
<html>
-
<head>
-
<title>Title</title>
-
</head>
-
<body>
-
hello!!!
-
</body>
-
</html>
6.配置Tomcat,选择edit configurations.
添加选项
点击“local”会看到如下界面:
选择deployment,点击“+”
返回之后,点击OK按钮。到此配置成功了。
7.现在RUN程序,开始访问吧。
访问地址为:http://localhost:8080/welcome.html
千万注意,需要引入lib,如下图选中菜单,底部点击FIX,添加lib