栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

SpringMVC学习笔记(二)。第一个SpringMVC程序,配置版,注解版,访问路径说明

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

SpringMVC学习笔记(二)。第一个SpringMVC程序,配置版,注解版,访问路径说明

文章目录

第一个SpringMVC程序1. 配置版2. 注解版3. 访问路径说明:

第一个SpringMVC程序 1. 配置版
    新建一个Moudle ,添加web的支持!确定导入了SpringMVC 的依赖

    javax.servlet
    servlet-api
    2.5


    javax.servlet.jsp
    jsp-api
    2.2

    配置web.xml , 注册DispatcherServlet


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

    编写SpringMVC 的 配置文件!名称:springmvc-servlet.xml : [servletname]-servlet.xml说明,这里的名称要求是按照官方来的。




    添加处理映射器

    添加处理器适配器

    添加视图解析器

    
    
    
    

    编写我们要操作业务Controller ,要么实现Controller接口,要么增加注解;需要返回一个ModelAndView,装数据,封视图;
//注意:这里我们先导入Controller接口
public class HelloController implements Controller {
    //ModelAndView 模型和视图
        ModelAndView mv = new ModelAndView();
        //封装对象,放在ModelAndView中。Model
        mv.addObject("msg","HelloSpringMVC!");
        //封装要跳转的视图,放在ModelAndView中
        mv.setViewName("hello"); //: /WEB-INF/jsp/hello.jsp
        return mv;
    }
}
    将自己的类交给SpringIOC容器,注册bean

    写要跳转的jsp页面,显示ModelandView存放的数据,以及我们的正常页面;
<%@ page contentType="text/html;charset=UTF-8" language="java" %>


    江小南


${msg}


    配置Tomcat 启动测试! http://localhost:8080/hello

完整的项目结构如下:

2. 注解版

    新建一个Moudle,springmvc-03-hello-annotation 。添加web支持!

    确定导入了SpringMVC 的依赖


    javax.servlet.jsp
    jsp-api
    2.2


    javax.servlet
    jstl
    1.2

    配置web.xml



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

    
    
        SpringMVC
        /
    

/ 和 /* 的区别:
< url-pattern > / 不会匹配到.jsp, 只针对我们编写的请求;
即:.jsp 不会进入spring的 DispatcherServlet类 。
< url-pattern > /* 会匹配 *.jsp会出现返回 jsp视图 时再次进入spring的DispatcherServlet 类,导致找不到对应的controller所以>报404错。

    配置springmvc-servlet.xml



    
    

    
    
    
    

    
    
        
        
        
        
    


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

    编写一个Java控制类: com.xxc.controller.HelloController , 注意编码规范
@Controller
@RequestMapping("/HelloController")
public class HelloController {
    @RequestMapping("/hello")
    public String hello(Model model) {
        //向模型中添加属性msg与值,可以在JSP页面中取出并渲染
        model.addAttribute("msg", "hello, SpringMVCAnnotation");
        return "hello";     // 会被视图解析器处理  WEB-INF/jsp/hello.jsp
    }
}

@Controller是为了让Spring IOC容器初始化时自动扫描到;
@RequestMapping是为了映射请求路径,这里因为类与方法上都有映射所以访问时应该是/HelloController/hello;
方法中声明Model类型的参数是为了把Action中的数据带到视图中;
方法返回的结果是视图的名称hello,加上配置文件中的前后缀变成WEB-INF/jsp/hello.jsp

    创建视图层

在WEB-INF/ jsp目录中创建hello.jsp,视图可以直接取出并展示从Controller带回的信息;
可以通过EL表示取出Model中存放的值,或者对象.

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


    江小南


${msg}


    配置Tomcat运行
    配置Tomcat,开启服务器,访问对应的请求路径 http://localhost:8080/springmvc/HelloController/hello

完整的项目结构:

3. 访问路径说明:

这一部分是大家经常犯错误的地方,为什么一个项目部署了但总是访问不了,看看路径是不是对了。

我的访问路径是http://localhost:8080/springmvc/HelloController/hello

对于前半部分http://localhost:8080很好理解。

springmvc是因为在打war包的时候加的。

/HelloController/hello是因为在HelloController类中写的。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/731898.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号