1,處理器的第二種配置方式
<!--配置handler -->
<bean id="/FirstController" class="com.songyan.controller.FirstController"></bean>
<bean id="logoon" class="com.songyan.controller.LoginHandler">
</bean>
<!--映射器 -->
<bean class="org.springframework.web.servlet.handler.BeanNameUrlHandlerMapping" />
<!--映射器2 -->
<bean class="org.springframework.web.servlet.handler.SimpleUrlHandlerMapping">
<property name="mappings">
<props>
<prop key="login1">logoon</prop>
</props>
</property>
</bean>
<!--適配器 -->
<bean class="org.springframework.web.servlet.mvc.SimpleControllerHandlerAdapter" />
<!--適配器2 -->
<bean class="org.springframework.web.servlet.mvc.HttpRequestHandlerAdapter" />
<!--解析器 -->
<bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
<property name="viewClass" value="org.springframework.web.servlet.view.JstlView"></property>
<property name="prefix" value="WEB-INF/jsp/"></property>
<property name="suffix" value=".jsp"></property>
</bean>
2,LoginHandler
package com.songyan.controller; import java.io.IOException; import javax.servlet.ServletException; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import org.springframework.web.HttpRequestHandler; public class LoginHandler implements HttpRequestHandler { public void handleRequest(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { String username=request.getParameter("username"); String password=request.getParameter("password"); request.setAttribute("username", username); request.setAttribute("password", password); request.getRequestDispatcher("login.jsp").forward(request, response); } }
3,login.jsp
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%
String path = request.getContextPath(); String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/"; %>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<base href="<%=basePath%>">
<title>My JSP 'login.jsp' starting page</title>
<meta http-equiv="pragma" content="no-cache">
<meta http-equiv="cache-control" content="no-cache">
<meta http-equiv="expires" content="0">
<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
<meta http-equiv="description" content="This is my page">
<!-- <link rel="stylesheet" type="text/css" href="styles.css"> -->
</head>
<body>
<form action="login1" method="post"> 用戶名:<input type="text" name="username" >${username }<br><br> 密碼:<input type="text" name="password">${password}<br><br>
<input type="submit" value="login">
</form>
</body>
</html>

4,流程
(1)在瀏覽器輸入要訪問的URL(login.jsp)--->頁面跳轉到login.jsp頁面

(2)在login.jsp 頁面填充數據后,提交-->通過Action的參數設置(login1)

(3)提交的請求被前端控制器攔截,通過設置的配置文件的位置找到springmvc-servlet.xml文件


(4)前端控制器會調用處理器映射器,根據action中的參數找到login1(與prop 中的key對應)

(5)根據匹配的key值對應value(這里就是指的logoon)
(6)再根據value值找到對應的Handler

(7)調用handler,由於handler中的跳轉語句,跳轉到login.jsp頁面 
