Spring入門程序-前端控制器配置器


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頁面                             

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM