第一个SpringMVC程序

第一个SpringMVC程序,第1张

第一个SpringMVC程序

文章目录
  • 第一个SpringMVC程序
    • 纯配置版
    • 注解版
      • 扩展
      • 需要的jar包

第一个SpringMVC程序 纯配置
  1. 新建一个maven的Moudle,添加web4.0支持
  2. 导入mvc依赖
  3. 配置web.xml



   
   
       springmvc
       org.springframework.web.servlet.DispatcherServlet
       
       
           contextConfigLocation
           classpath:springmvc-servlet.xml
       
       
       1
   

   
   
   
       springmvc
       /
   

  1. 编写springmvc配置文件(web.xml中描述的)




  1. 在springmvc配置文件中增加 处理器映射器

  1. 在springmvc配置文件中增加 处理器适配器

  1. 在springmvc配置文件中增加 视图解析器

   
   
   
   

  1. 写一个 *** 作业务的Controller,实现Controller接口,重写方法,返回一个ModelAndView装数据
package com.kuang.controller;

import org.springframework.web.servlet.ModelAndView;
import org.springframework.web.servlet.mvc.Controller;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

//注意:这里我们先导入Controller接口
public class HelloController implements Controller {

   public ModelAndView handleRequest(HttpServletRequest request, HttpServletResponse response) throws Exception {
       //ModelAndView 模型和视图
       ModelAndView mv = new ModelAndView();

       //封装对象,放在ModelAndView中。Model
       mv.addObject("msg","HelloSpringMVC!");
       //封装要跳转的视图,放在ModelAndView中
       mv.setViewName("hello"); //: /WEB-INF/jsp/hello.jsp
       return mv;
  }  
}
  1. 将自己的类交给SpringIOC容器,注册bean 注解版不需要
    ``xml
```
  1. 写要跳转的jsp页面
<%@ page contentType="text/html;charset=UTF-8" language="java" %>


   Kuangshen


${msg}


  1. 启动测试 localhost:8080/hello

不少jar包,报错就是以下问题:

  1. File->Project structure选项->Artifacts->给项目添加lib依赖!
注解
  1. 新建一个maven的Moudle,添加web4.0支持
  2. 导入Spring框架核心库、Spring MVC、servlet , JSTL等依赖
  3. 配置web.xml



   
   
       SpringMVC
       org.springframework.web.servlet.DispatcherServlet
       
       
           contextConfigLocation
           classpath:springmvc-servlet.xml
       
       
       1
   

   
   
       SpringMVC
       /
   

  1. 编写springmvc配置文件(web.xml中描述的)
    配置的形式与Spring容器配置基本类似,为了支持基于注解的IOC,设置了自动扫描包的功能,具体配置信息如下:



   
   
   
   
   
   

   
   
       
       
       
       
   

视图解析器中我们把所有的视图都存放在/WEB-INF/目录下,这样可以保证视图安全,因为这个目录下的文件,客户端不能直接访问。

  • 让IOC的注解生效
  • 静态资源过滤 :HTML . JS . CSS . 图片 , 视频 …
  • MVC的注解驱动
  • 配置视图解析器
  1. 创建Controller
package com.kuang.controller;

import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.RequestMapping;

@Controller //让Spring IOC容器初始化时自动扫描到;
@RequestMapping("/HelloController") //映射类请求路径
public class HelloController {

   //因为类与方法上都有映射所以访问时应该是/HelloController/hello;
   @RequestMapping("/hello")
   public String sayHello(Model model){
       //向模型中添加属性msg与值,可以在JSP页面中取出并渲染
       model.addAttribute("msg","hello,SpringMVC");
       //web-inf/jsp/hello.jsp
       return "hello";
  }
}
  1. 创建视图层

在WEB-INF/ jsp目录中创建hello.jsp , 视图可以直接取出并展示从Controller带回的信息;

可以通过EL表示取出Model中存放的值,或者对象;

<%@ page contentType="text/html;charset=UTF-8" language="java" %>


   SpringMVC


${msg}


扩展

使用springMVC必须配置的三大件:
处理器映射器、处理器适配器、视图解析器

通常,我们只需要手动配置视图解析器,而处理器映射器和处理器适配器只需要开启注解驱动即可,而省去了大段的xml配置

/ 和 /* 的区别:< url-pattern > / 不会匹配到.jsp, 只针对我们编写的请求;即:.jsp 不会进入spring的 DispatcherServlet类 。< url-pattern > /* 会匹配 *.jsp,会出现返回 jsp视图 时再次进入spring的DispatcherServlet 类,导致找不到对应的controller所以报404错。
  • 注意web.xml版本问题,要最新版!
  • 注册DispatcherServlet
  • 关联SpringMVC的配置文件
  • 启动级别为1
  • 映射路径为 / 【不要用/*,会404】
需要的jar包
    
    
        
            junit
            junit
            4.13
        
        
            org.springframework
            spring-webmvc
            5.2.0.RELEASE
        
        
            javax.servlet
            servlet-api
            2.5
        
        
            javax.servlet
            jstl
            1.2
        
    

欢迎分享,转载请注明来源:内存溢出

原文地址:https://www.54852.com/zaji/5684105.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-12-17
下一篇2022-12-17

发表评论

登录后才能评论

评论列表(0条)

    保存