【JavaEE 进阶(二)】Spring MVC(下)

【JavaEE 进阶(二)】Spring MVC(下)

码农世界 2024-06-04 后端 105 次浏览 0个评论

❣博主主页: 33的博客❣

▶️文章专栏分类:JavaEE◀️

🚚我的代码仓库: 33的代码仓库🚚

🫵🫵🫵关注我带你了解更多进阶知识

【JavaEE 进阶(二)】Spring MVC(下)

目录

  • 1.前言
  • 2.响应
    • 2.1返回静态界面
    • 2.2返回数据
    • 2.3返回HTML代码
    • 3.综合练习
      • 3.1计算器
      • 3.2用户登录
      • 4.3留言板
      • 5.应用分层
      • 6.企业规范
      • 7.总结

        1.前言

        上一篇文章,我们已经讲了Spring MVC请求部分的内容,这篇文章继续讲解。

        2.响应

        2.1返回静态界面

        在之前的代码中,我们都是以@RestController来注解一个类,通过这个注解那么就表明返回的内容都为数据,所以前⾯使⽤的@RestController 其实是返回的数据,如果我们想返回一个界面可以用@Controller,如果要返回数据@Controller+@ResponseBody =@RestController。

        @Controller
        public class demo3 {
            @RequestMapping("/index")
            public String INDEX(){
                return "/index.html";
            }
        }    
        

        index.html内容

        
        
        
            
            Title
        
        
        

        我是谁??

        【JavaEE 进阶(二)】Spring MVC(下)

        2.2返回数据

        @Controller
        public class demo3 {
             @ResponseBody
            @RequestMapping("/date")
            public String DATA(){
                return "/index.html";
            }
        }  
        

        【JavaEE 进阶(二)】Spring MVC(下)

        2.3返回HTML代码

        @Controller
        public class demo3 {
          @ResponseBody
            @RequestMapping("/date2")
            public String DATA2(){
                return "

        我是谁??

        "; } }

        【JavaEE 进阶(二)】Spring MVC(下)

        3.综合练习

        3.1计算器

        package com.example.test1;
        import org.springframework.web.bind.annotation.RequestMapping;
        import org.springframework.web.bind.annotation.RestController;
        @RestController
        @RequestMapping("/calc")
        public class Caculation {
            @RequestMapping("/sum")
            public String CAL(Integer num1,Integer num2){
                Integer sum=num1+num2;
                return "计算结果:"+sum;
            }
        }
        

        HTML

        
        
        
            
            
            Document
        
        
        

        计算器

        数字1:
        数字2:

        结果

        【JavaEE 进阶(二)】Spring MVC(下)

        3.2用户登录

        login界面

        
        
        
            
            登录页面
        
        
        

        用户登录

        用户名:
        密码:

        index界面

        
        
        
            
            
            
            用户登录首页
        
        
        登录人: 
        
        
        
        
        

        后端代码:

        package com.example.test1;
        import jakarta.servlet.http.HttpSession;
        import org.springframework.util.StringUtils;
        import org.springframework.web.bind.annotation.RequestMapping;
        import org.springframework.web.bind.annotation.RestController;
        import org.springframework.web.bind.annotation.SessionAttribute;
        @RestController
        @RequestMapping("/user")
        public class UserController {
            @RequestMapping("/login")
            public boolean login(String username, String password, HttpSession session){        if(!StringUtils.hasLength(username)||!StringUtils.hasLength(password)){
                    return false;
                }
                if("admin".equals(username)&&"admin".equals(password)){
                    session.setAttribute("username",username);
                    return true;
                }
               return false;
            }
            @RequestMapping("/index")
            public String getusername(@SessionAttribute("username") String username){
                return username;
            }
        }
        

        【JavaEE 进阶(二)】Spring MVC(下)

        4.3留言板

        package com.example.test1;
        import org.springframework.util.StringUtils;
        import org.springframework.web.bind.annotation.RequestMapping;
        import org.springframework.web.bind.annotation.RestController;
        import java.util.ArrayList;
        import java.util.LinkedList;
        import java.util.List;
        @RequestMapping("/message")
        @RestController
        public class MessageController {
            private List messageInfos=new ArrayList<>();
            @RequestMapping("/publish")
            public Boolean publish(MessageInfo messageInfo){
                System.out.println("接收到参数"+messageInfo);
                //参数检验
                if(!StringUtils.hasLength(messageInfo.getFrom())||!StringUtils.hasLength(messageInfo.getTo())||!StringUtils.hasLength(messageInfo.getSay())){
                    return false;
                }
                messageInfos.add(messageInfo);
                return true;
            }
            @RequestMapping("/getlist")
            public List getList(){
                return messageInfos;
            }
        }
        
        package com.example.test1;
        import lombok.Data;
        @Data
        public class MessageInfo {
            private String from;
            private String to;
            private  String say;
        }
        

        HTML主要代码:

        
        Top