• SpringMVC入门


         Spring Web MVC是一种基于Java的实现了Web MVC设计模式的请求驱动类型的轻量级Web框架,即使用了MVC架构模式的思想,将web层进行职责解耦,基于请求驱动指的就是使用请求-响应模型,框架的目的就是帮助我们简化开发,Spring Web MVC也是要简化我们日常Web开发的。

    MVC请求流程

     

    request-------->DispatcherServler(中央调度器/前端控制器)-----> HandlerMapping(处理器映射器)------>返回一个执行链----->

    将执行链转交给HandlerAdaptor(处理器适配器)----->调度Handler(处理器)-----> ModelAndView----->先将结果交给HandlerAdaptor,然后再由HandlerAdaptor转交给 DispatcherServler--------->DispatcherServler调度ViewResolver(视图解析器)---->交给DispatcherServler-------> 寻找View---->View做出响应(response)

     SpringMVC简单案例

     

    1.引入jar包

    2.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" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" version="2.5">
      <display-name></display-name>
      
     
      <!-- 配置中央调度器 -->
      <servlet>
      <servlet-name>springmvc</servlet-name>
      <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
      
        <!-- 制定applicationContext.xml的路径 -->
      <init-param>
      <param-name>contextConfigLocation</param-name>
      <param-value>classpath:applicationContext.xml</param-value>
      </init-param>
      <!-- Tomcat启动时servlet对象已经到内存 -->
      <load-on-startup>1</load-on-startup>
      </servlet>
      
      
      <servlet-mapping>
      <servlet-name>springmvc</servlet-name>
      <url-pattern>*.do</url-pattern>
      
      
      </servlet-mapping>
      
      
       <welcome-file-list>
        <welcome-file>index.jsp</welcome-file>
      </welcome-file-list>
      </web-app>

    3.applicationContext.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:context="http://www.springframework.org/schema/context"
        xmlns:aop="http://www.springframework.org/schema/aop" 
        xmlns:tx="http://www.springframework.org/schema/tx" 
         xsi:schemaLocation="
            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.xsd
            http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop.xsd
            http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx.xsd">
       
       <bean id="/hello.do" class="cn.happy.controller.MyController"></bean>
       
       <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
       <property name="prefix" value="/WEB-INF/"></property>
       <property name="suffix" value=".jsp"></property>
        </bean>        
     </beans>

     4.创建一个Controller

    package cn.happy.controller;
    
    import javax.servlet.http.HttpServletRequest;
    import javax.servlet.http.HttpServletResponse;
    
    import org.springframework.web.servlet.ModelAndView;
    import org.springframework.web.servlet.mvc.Controller;
    
    public class MyController implements Controller{
    
    
        /**
         * handleRequest 处理请求
         */
        @Override
        public ModelAndView handleRequest(HttpServletRequest request,
                HttpServletResponse response) throws Exception {
            
            ModelAndView mv=new ModelAndView();
            
            mv.addObject("msg","十一点放学");
            
            mv.setViewName("index");
            return mv;
        }
        
        
    
    }

    5.定制jsp页面

    实现效果:

    url采用Restful风格

    一种软件架构风格,设计风格而不是标准,只是提供了一组设计原则和约束条件。它主要用于客户端和服务器交互类的软件。基于这个风格设计的软件可以更简洁,更有层次,更易于实现缓存等机制

    关于urlpatten的说法

    最好配成*.do 不能配成/* 无法访问*.jsp等动态资源 最好也不要配成/ 无法访问静态资源 不得不配成/ Restful编程 rest

    DispatcherServlet会将向动态页面请求,即向jsp页面的跳转请求也当做是一个普通的Controller请求。中央调度器会调用处理器映射器为其查找相应的处理器。当然是找不到的。jsp页面会报404错误 结论:/*会拦截动态资源

    方案一:使用Tomcat默认的Servlet解决

    方案二:

    会将对静态资源的访问请求通过HandlerMapping映射到默认Servlet请求处理器DefaultServletRequestHandler对象。而该处理器调用了Tomcat的DefaultServlet来处理静态资源的访问请求。当然需要引入mvc约束

    方案三:详见配置文件

  • 相关阅读:
    session与cookie的浅谈
    jmeter的正则表达式编辑器
    安装canvas
    sql server连接oracle并实现增删改查
    在iOS下-input[disabled] 颜色变浅兼容&& input[readonly]仍可获取焦点解决方法
    快速向表中插入大量数据Oracle中append与Nologging
    JavaScript 删除某个数组中指定的对象和删除对象属性
    ORA-00911: invalid character 错误解决
    SQL Server Varchar 中文乱码问题与使用SQL Server Management Studio管理软件查询出来的字段限制
    SqlServer该如何合适的索引
  • 原文地址:https://www.cnblogs.com/Smile-123/p/6198019.html
Copyright © 2020-2023  润新知