Spring Mvc 用Demo去學習

1:首先大致知道 SpringMVC 框架的 運行原理(圖片來自網絡 )java

2:SpringMVC 是依照DispatcherServlet 展開的 web

 這裏能夠約Structs2對比,structs2 是依照過濾器展開的; 下面就用一個 Demo來 搭建一個 SpringMVC,框架;spring

3:搭建的過程以下:spring-mvc

  a:首先將須要的jar包 導入:lib下:網絡

  

  b:接下來配置 SpringMVC的 核心DispatcherServlet mvc

    在項目web.xml 下配置:app

(這裏注意的是:servlet-name [SpMvcDemo]這個命名, 在後面 配置 控制器xml文件時須要 用到!)框架

  c:接下里來建立 控制器xml 文件;jsp

     在項目WebContent下 建立xml 文件 ;(重要的是:該文件的 命名規則:[servlet-name]-servlet.xml) 例如這裏的項目控制xml 配置命名:SpMvcDemo-servlet.xmlide

 d:接下來在建立的控制xml文件中 (結尾提供源碼)

 

  配置 HandlerMapping 按照 benaname 來指定 Contorller 
  建立 bean name=SpmvcDemo.do  映射到 Hellocontroller (處理請求類)

                      d(1):建立發出請求的 jsp 頁面 我用的Demo.jsp  簡單的 <form>表單提交數據請求:

                        

          d(2):注意這裏的 action =「」 在Demo調試的時候 經過 action 來將請求分發到 那個 Controller類中處理請求,同時也由該類作response;

 

e:接下來建立 Controller 控制類:(這次Demo的Controller是 Hellocontroller  )

    建立要求:繼承AbstractController重寫handleRequestInternal方法(建立的時候 自動重寫)

     e(1):在handleRequestInternal方法中:ModelAndView 作response 和 數據的傳遞:

                          

f:接下來,建立Demo_to.jsp 用來測試 數據的回現(EL 表達式)

               

 g:最後配置 ModelAndView 前綴後綴  配置試圖解析器!!(在 控制xml 中) 

               

實質上就是在爲訪問的 jsp 頁面拼接url,/Demopath/ 在項目中 是個文件夾;方便管理項目;

 h:完成 框架的搭建 調試項目吧;

附上源碼:

SpMvcDemo-servlet.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:context="http://www.springframework.org/schema/context"
	xsi:schemaLocation="http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc-3.0.xsd
		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-3.0.xsd">
		
	<!-- 配置 handlerMapping 直接引入一個 類 -->
<bean 
	class="org.springframework.web.servlet.mvc.support.ControllerBeanNameHandlerMapping"></bean>

	<!-- 配置 hanlder 分發 Contorller -->
<bean name="/SpmvcDemo.do" 	class="demo_controller.Hellocontroller"></bean>
	<!-- 配置 ModelAndView 前綴後綴 -->
		<!-- 配置視圖解析器 -->
<bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
		<!-- 前綴 -->
		<property name="prefix" value="/Demopath/"></property>
		<!-- 後綴 -->
		<property name="suffix" value=".jsp"></property>
</bean>	
	
</beans>
		

  web.xml

<?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" id="WebApp_ID" version="3.0">
  <display-name>SpringMVC_demo</display-name>
  <welcome-file-list>
    <welcome-file>index.jsp</welcome-file>
  </welcome-file-list>
  <servlet>
    <servlet-name>SpMvcDemo</servlet-name>
    <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
  </servlet>
  <servlet-mapping>
    <servlet-name>SpMvcDemo</servlet-name>
    <url-pattern>*.do</url-pattern>
  </servlet-mapping>
</web-app>
View Code

Hellocontroller.java

package demo_controller;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import org.springframework.web.servlet.ModelAndView;
import org.springframework.web.servlet.mvc.AbstractController;

import sun.misc.Request;

public class Hellocontroller extends AbstractController {

    @Override
    protected ModelAndView handleRequestInternal(HttpServletRequest arg0,
            HttpServletResponse arg1) throws Exception {
        // TODO Auto-generated method stub
        
        String hello = arg0.getParameter("hello");        
        System.out.println("----:"+hello);    
        ModelAndView mav = new ModelAndView("Demo_to");
        mav.addObject("helloword", "SpringMvc  "+hello);    
        return mav;
        
    }

}

 

不喜勿碰,技術有限 ,謝謝點評;一塊兒加油!

相關文章
相關標籤/搜索