zoukankan      html  css  js  c++  java
  • 1、什么是SpringMVC-配置版SpringMVC

    Spring MVC是Spring Framework的一部分, 是基于Jav a实现MVC的轻量级Web框架。

    为什么要学习SpringMVC呢?

    Spring MVC的特点:

    • 1.轻量级,简单易学
    • 2.高效,基于请求响应的MVC框架
    • 3.与Spring兼容性好,无缝结合
    • 4.约定优于配置
    • 5.功能强大: RESTful、 数据验证、格式化、本地化、主题等
    • 6.简洁灵活
    Spring的web框架围绕DispatcherServlet [调度Servlet ]设计。
    DispatcherServle t的作用是将请求分发到不同的处理器。从Spring 2.5开始,使用Java 5或者以上版本的用户可以采用基于注解形式进行开发,十分简洁;
    正因为SpringMVC好,简单,便捷,易学,天生和Spring无缝集成(使用SpringloC和Aop) ,
    使用约定优于配置.能够进行简单的junit测试.支持Restful风格.异常处理,本地化,国际化,数据验证,
    类型转换,拦截器等....所以我们要学习.
    

     

    中心控制器:

    Spring的web框架围绕DispatcherServlet设计。DispatcherServlet的作用 是将请求分发到不
    同的处理器。从Spring 2.5开始,使用Java 5或者以上版本的用户可以采用基于注解的controller声明
    方式。

     SpringMVC原理:

    当发起请求时被前置的控制器拦截到请求,根据请求参数生成代理请求,找到请求对应的实际控制
    器,控制器处理请求,创建数据模型,访问数据库,将模型响应给中心控制器,控制器使用模型与视图
    渲染视图结果,将结果返回给中心控制器,再将结果返回给请求者。

    【配置版SpringMVC】

    1、新建一个空的Maven项目,添加Web项目支持

     2、导入SpringMVC依赖

    3、配置web.xml,注册DispatcherServlet

    <?xml version="1.0" encoding="UTF-8"?>
    <web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"
             xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
             xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_4_0.xsd"
             version="4.0">
    
        <!--1、注册DispatcherServlet-->
        <servlet>
            <servlet-name>springmvc</servlet-name>
            <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
            <!--关联一个springmvc的配置文件-->
            <init-param>
                <param-name>contextConfigLocation</param-name>
                <param-value>classpath:springmvc-servlet.xml</param-value>
            </init-param>
            <!--设置启动级别-->
            <load-on-startup>1</load-on-startup>
        </servlet>
        <!--
            / :匹配所有请求【不包括.jsp】
            /* :匹配所有请求【包括.jsp】
        -->
        <servlet-mapping>
            <servlet-name>springmvc</servlet-name>
            <url-pattern>/</url-pattern>
        </servlet-mapping>
    </web-app>

    4、编写Spring的配置文件,idea提供的有spring模板

    <?xml version="1.0" encoding="UTF-8"?>
    <beans xmlns="http://www.springframework.org/schema/beans"
           xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
           xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd">
    
    </beans>

    5、添加处理映射器

    <bean class="org.springframework.web.servlet.handler.BeanNameUrlHandlerMapping"/>

    6、添加处理适配器

    <bean class="org.springframework.web.servlet.mvc.SimpleControllerHandlerAdapter"/>

    7、添加视图解析器

        <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver" id="internalResourceViewResolver">
            <!--前缀-->
            <property name="prefix" value="/WEB-INF/jsp/"/>
            <!--后缀-->
            <property name="suffix" value=".jsp"/>
        </bean>

    8、编写我们要操作业务Controller,要么实现Controller接口,要么增加注解;

    需要返回一个ModelAndView,装数据,封视图;

    package com.zhixi.controller;
    
    import org.springframework.web.servlet.ModelAndView;
    import org.springframework.web.servlet.mvc.Controller;
    
    import javax.servlet.http.HttpServletRequest;
    import javax.servlet.http.HttpServletResponse;
    
    public class HelloController implements Controller {
        public ModelAndView handleRequest(HttpServletRequest request, HttpServletResponse response) throws Exception {
            /*ModelAndView:模型和视图*/
            ModelAndView mv = new ModelAndView();
    
            /*封装对象放在ModelAndView中*/
            mv.addObject("msg", "HelloSpringMvc");
    /*封装要进行跳转的视图,放在ModelAndView中: WEB-INF/jsp/hello.jsp*/ mv.setViewName("hello"); return mv; } }

    9、注册bean

        <!--请求/some,就会从spring中跳转到这个controller-->
        <bean id="/some" class="com.zhixi.controller.HelloController"/>

    10、写要跳转的jsp页面,显示从ModeAndView中获取添加的数据

    <%@ page contentType="text/html;charset=UTF-8" language="java" %>
    <html>
    <head>
        <title>Title</title>
    </head>
    <body>
    ${msg}
    </body>
    </html>

    容易遇到的问题:

    1.查看控制台输出,看一下是不是缺少了什么jar包。
    2.如果jar包存在,显示无法输出,就在IDEA的项目发布中,添加lib依赖!
    3.重启Tomcat即可解决!
    

    成功!

  • 相关阅读:
    JavaScript中的闭包
    SQL 备忘
    SqlServer 2005 升级至SP2过程中出现"身份验证"无法通过的问题
    unable to start debugging on the web server iis does not list an application that matches the launched url
    Freebsd 编译内核
    Freebsd 6.2中关于无线网络的设定
    【Oracle】ORA01219
    【Linux】Windows到Linux的文件复制
    【Web】jar命令行生成jar包
    【Linux】CIFS挂载Windows共享
  • 原文地址:https://www.cnblogs.com/zhangzhixi/p/14269517.html
Copyright © 2011-2022 走看看