最近在學習spring的相關知識,順便記下筆記,與大家共享。
spring運行流程如下圖所示:
【流程】
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 {
@Override
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