zoukankan      html  css  js  c++  java
  • Spring Mvc 用Demo去学习

    1:首先大体知道 SpringMVC 框架的 运行原理(图片来自网络 )

    2:SpringMVC 是依照DispatcherServlet 展开的 

     这里可以约Structs2对比,structs2 是依照过滤器展开的; 下面就用一个 Demo来 搭建一个 SpringMVC,框架;

    3:搭建的过程如下:

      a:首先将需要的jar包 导入:lib下:

      

      b:接下来配置 SpringMVC的 核心DispatcherServlet 

        在项目web.xml 下配置:

    (这里注意的是:servlet-name [SpMvcDemo]这个命名, 在后面 配置 控制器xml文件时需要 用到!)

      c:接下里来创建 控制器xml 文件;

         在项目WebContent下 创建xml 文件 ;(重要的是:该文件的 命名规则:[servlet-name]-servlet.xml) 例如这里的项目控制xml 配置命名:SpMvcDemo-servlet.xml

     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;
            
        }
    
    }

    不喜勿碰,技术有限 ,谢谢点评;一起加油!

  • 相关阅读:
    ASP.NET在禁用视图状态的情况下仍然使用ViewState对象【转】
    Atcoder Regular Contest 061 D Card Game for Three(组合数学)
    Solution 「CERC 2016」「洛谷 P3684」机棚障碍
    Solution 「CF 599E」Sandy and Nuts
    Solution 「洛谷 P6021」洪水
    Solution 「ARC 058C」「AT 1975」Iroha and Haiku
    Solution 「POI 2011」「洛谷 P3527」METMeteors
    Solution 「CF 1023F」Mobile Phone Network
    Solution 「SP 6779」GSS7
    Solution 「LOCAL」大括号树
  • 原文地址:https://www.cnblogs.com/Ankermaker/p/6907738.html
Copyright © 2011-2022 走看看