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

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

  • 相关阅读:
    android应用中增加权限判断
    android接收短信——framework处理流程(android 5.1)
    Java 集合系列03之 ArrayList详细介绍(源码解析)和使用示例
    Java 集合系列02之 Collection架构
    Java 集合系列01之 总体框架
    远离职场中的舒适区
    中国式父母,到底缺少些什么?
    孙悟空:越风光,越可怜
    Android学习—RecyclerView的使用(2)
    Android学习—RecyclerView的使用(1)
  • 原文地址:https://www.cnblogs.com/Ankermaker/p/6907738.html
Copyright © 2020-2023  润新知