Java0基础_day24_SpringMVC框架_PART1

标签:SpringMVC、SSM、拦截器、代理对象

  1.SpringMVC概述

  • 是什么?

为了让web开发更简单、更高效、便于维护升级,引入了SpringMVC。

从名字的角度看,SpringMVC是Spring框架的一个子模块,可以理解为Spring+MVC,这里的MVC是Model、View、Controller是SpringMVC三个核心概念对象的缩写。

从底层实现来看,SpringMVC可以看成是Servlet的高级版本,是加上一些其他功能的框架而已。

 从容器的角度看,Spring是一个容器,通过ioc控制管理对象,因此SpringMVC也是一个容器,不过存放的是控制器对象@Controller

  • 核心概念?

在Springmvc中,有三个核心概念,如上面的图所示:

第一个:Controller控制器

该控制器分为用于调度的中央(前端)控制器和用于响应的后台@Controller对象

第二个:Model数据

Model数据是后台数据调用Service方法得到的数据,将其放在Springmvc容器中。

第三个:View视图

View是视图,用于页面转发等功能。


2.SpringMVC配置初探

第一步:创建maven-web项目,加入Spring-mvc依赖,servlet依赖,jsp依赖

第二步:web.xml注册中央控制器,设置为初始时加载设置;

中央控制器控制范围→servlet mapping、重设springmvc配置文件路径乱码过滤器。

   <servlet>
        <servlet-name>Spring_mvc</servlet-name>
        <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
        <!--表示tomcat服务器启动时就创建该对象,数字越低优先级越高-->
        <load-on-startup>1</load-on-startup>
<!--等价于:
webapplicationcontext ctx = new  classpathxmlapplicationcontext(“springmvc.xml”)
getServletContext().setAttribute(key,ctx)
容器底部可以看成是map.put("Mycontroller对象",mycontroller)-->
        <init-param>
            <param-name>contextConfigLocation</param-name>
            <param-value>classpath:Spring_mvc.xml</param-value>
        </init-param>
    </servlet>
<!--    有两种映射方式,第一种:常规的通过路径,第二种,通过通配符-->
    <servlet-mapping>
        <servlet-name>Spring_mvc</servlet-name>
        <url-pattern>/</url-pattern>
           <!--<url-pattern>*.dO</url-pattern>-->
    </servlet-mapping>


  <filter>
        <filter-name>中文乱码过滤器</filter-name>
        <filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>
        <init-param>
<!--设置项目中使用的字符编码-->
            <param-name>encoding</param-name>
            <param-value>utf-8</param-value>
        </init-param>
        <init-param>
<!--强制HttpServletRequest请求对象使用encoding编码-->
            <param-name>forceRequestEncoding</param-name>
            <param-value>true</param-value>
        </init-param>
        <init-param>
<!--强制HttpServletResponse应答对象使用encoding编码-->
            <param-name>forceResponseEncoding</param-name>
            <param-value>true</param-value>
        </init-param>
    </filter>
    <filter-mapping>
        <filter-name>中文乱码过滤器</filter-name>
        <url-pattern>/*</url-pattern>
    </filter-mapping>

【注意】在post方法中可能会出现乱码情况,此时需要配置上面的过滤器。

第三步:写处理方法,类头加上@Controller注解,方法加上@RequestMapping地址地址映射;

@Controller
public class mycontrol {
    @RequestMapping("/some.do")
    public ModelAndView dosome(String name,int age)  {
        System.out.println("mycontroller的dosome方法执行了");
        ModelAndView mv = new ModelAndView();

        mv.addObj
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值