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

【实训】day01 - SpringMVC

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

【实训】day01 - SpringMVC

上午 快速入门:

需求:客户端发起请求,服务器端接收请求,执行逻辑并进行视图跳转。

开发步骤:

①导入SpringMVC相关坐标 ②配置SpringMVC核心控制器DispathcerServlet ③创建Controller类和视图页面 ④使用注解配置Controller类中业务方法的映射地址 ⑤配置SpringMVC核心文件 spring-mvc.xml ⑥客户端发起请求测试
学习内容:

目录结构如下

一、开发步骤 1.导入相关坐标(pom.xml)
    
      junit
      junit
      4.12
      test
    
    
      org.springframework
      spring-context
      5.0.5.RELEASE
    
    
      org.springframework
      spring-test
      5.0.5.RELEASE
    
    
      org.springframework
      spring-web
      5.0.5.RELEASE
    
    
      org.springframework
      spring-webmvc
      5.0.5.RELEASE
    
    
      javax.servlet
      javax.servlet-api
      3.0.1
      provided
    
    
      javax.servlet.jsp
      javax.servlet.jsp-api
      2.2.1
      provided
    
2.配置SpringMVC的核心控制器(web.xml)

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


DispatcherServlet
/

3.创建Controller类和视图页面

4.使用注解配置Controller类中业务方法的映射地址

HelloController.java 当输入/hello路径的时候,跳转到hello.jsp

@Controller
public class HelloController {
    @RequestMapping("/hello")
     public String hello(){
        System.out.println("hello SpringMVC!");
        return "/hello";
    }
}

index.jsp 默认模板

hello.jsp

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


Hello SpringMVC

5.配置Tomcat并运行

error:404 且 控制台未打印

错误原因有可能是 找不到controller的位置

(1)看看上述配置文件是否正确

(2)删掉out文件和target文件

(3)重新构建工件

(4)删掉原来的tomcat,重新部署tomcat(最后通过这个方法解决了哟呼~)

控制台打印成功

jsp页面展示成功

二、组件解析 

下午 1.SpringMVC的数据响应

1.1页面跳转

(1)返回字符串形式

面试题:重定向redirect和转发forward的区别

 @RequestMapping("/hello1")
    public  String hello1(){
        System.out.println("hello SpringMVC 1!");
//        重定向 url会变成hello
        return "redirect:/hello";
    }

    @RequestMapping("/hello2")
    public  String hello2(){
        System.out.println("hello SpringMVC 2!");
//        请求转发 url不变
        return "forward:/hello";
    }

(2) 向request域存储数据

redirect会请求两次,作用域会发生变化,所以获取不到数据

//    作用域存储数据
    @RequestMapping("/save")
    public String save(HttpServletRequest request ){
//        往作用域添加数据
        request.setAttribute("姓名:","lisi");
//        这里只能使用转发
        return "forward:/hello";
        
//        若为重定向,打印的姓名数据为null
    }

    @RequestMapping("/hello")
    public String hello(HttpServletRequest request){
//        获取request作用域里的数据 key-value值
        String name =(String) request.getAttribute("name");
        System.out.println("姓名:"+name);
        return "/hello";
    }

2.软件包层次

controller:控制层

mapper / dao:数据持久层

po / pojo / entity:实体类

service:业务逻辑层

 

实现简易登录功能

面试题:equals和==的区别

==:比较地址值

equals:比较数据值

ERROR1

。。。这个bug

最后是在spring-mvc.xml找到的

这里包路径写成了com.lyt.controller了。。。

正确如下:


ERROR2

提交表单出错

标签写错orz

错误代码,多了个逗号,找半天害

用户名:
密码:

登录界面

用户及密码正确

密码错误

 

 


 

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

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

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