javawebDay6-Springbootweb

  • 入门程序
//添加springframework依赖
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>
@RestController//识别当前类是一个请求处理类
public class ResponesController {
    @RequestMapping("response1")//标识请求路径
    public void response1(HttpServletResponse response) throws IOException {
        //1.响应码
        response.setStatus(200);
        //2.响应头
        response.setHeader("name","m1kasa");
        //响应体
        response.getWriter().write("<h1>Hello response</h1>");
    }

    @RequestMapping("response2")
    public ResponseEntity<String> response2(){
        return ResponseEntity.status(404)
                .header("name","m1kasa")
                .body("<h1>Hello response</h1>");
    }
}
@RestController//识别当前类是一个响应处理类
public class RequestController {
    @RequestMapping("/request")//标识响应路径
    public static String request(HttpServletRequest request){
        //1.获取请求方式
        String method = request.getMethod();
        System.out.println("请求方法:"+method);
        //2.获取请求url
        String url = request.getRequestURL().toString();
        System.out.println("url:"+url);
        //3.获取请求协议
        String protocol = request.getProtocol();
        System.out.println("协议:"+protocol);
        //4.获取请求参数
        String name = request.getParameter("name");
        String age = request.getParameter("age");
        System.out.println("name:"+name+","+"age:"+age);
        //5.获取请求头
        String header = request.getHeader("Accept");
        System.out.println("请求头:"+header);
        return "ok";
    }
}
  • 三层架构
  1. Controller:接收请求、响应数据
@RestController
public class UserController {
    // 基于属性注入
    @Autowired
    private UserSevice userSevice;
    List<User> userList = userSevice.findAll();
    @RequestMapping("/list")
    public List<User> list(){
        return userList;
    }
/*  基于构造器注入
    private final UserSevice userSevice;
    @Autowired
    UserController(UserSevice userSevice){
        this.userSevice = userSevice;
    }*/

/*  setter注入
    private UserSevice userSevice;
    @Autowired
    public void setUserSevice(UserSevice userSevice) {
        this.userSevice = userSevice;
    }*/
}
  1. Service:业务处理
@Component
public class UserServiceimpl implements UserSevice {

    //1.调用Dao获取对象
    @Autowired
    private UserDao userDao;
    List<String> lines = userDao.findAll();
    @Override
    public List<User> findAll(){
        //2.业务逻辑:解析用户信息,封装为User对象 -> list集合
        List<User> userList = lines.stream().map(line->{
            String[] parts = line.split(",");
            Integer id = Integer.parseInt(parts[0]);
            String username = parts[1];
            String password = parts[2];
            String name = parts[3];
            Integer age = Integer.parseInt(parts[4]);
            LocalDateTime updateTime = LocalDateTime.parse(parts[5], DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"));
            return new User(id,username,password,name,age,updateTime);
        }).toList();
        return userList;
    }}
  1. Dao:数据访问
@Component
public class UserDaoimpl implements UserDao {
    @Override
    public List<String> findAll(){
        //1.读取数据
        //InputStream in = new FileInputStream("")
        InputStream in = this.getClass().getResourceAsStream("userData.txt");
        ArrayList<String> lines = IoUtil.readLines(in, StandardCharsets.UTF_8,new ArrayList<>());
        return lines;
    }
}
  • IOE注入(将类对象交给IOE容器管理)
//注入
@Component//表示该标注下的类注入IOE容器
//获取
@Autowire
Userservice userservice;//IOE容器会自动为其设置默认值
posted @ 2025-04-04 22:08  m1kasaz  阅读(11)  评论(0)    收藏  举报