# 作业1 ## HTTP请求包的结构包括哪些部分?请简介每部分所包含内容。 一个完整的HTTP请求包通常包含三部分: - 请求行:包含请求方法Method、请求的URL和HTTP版本。 - 请求头:包含一系列键值对,提供了关于请求的额外信息,如客户端类型、接受的内容类型等。 - 请求体:请求体并不是所有HTTP请求都有的部分;主要用于包含要发送给服务器的数据,如表单数据、上传的文件内容等 ## 实现一个计数器页面 使用html和js实现一个计数器,要求: - 计数器的初始值为0,每次点击页面上的按钮时,计数器的值增加1。 - 在页面上显示计数器的值。 - 使用JavaScript实现按钮点击事件监听器。 ```html 计数器

计数器: 0

``` # 作业2 ## 什么是MVC设计模式?请简要说明其主要组成部分及其作用。 MVC(Model-View-Controller)设计模式是一种软件架构模式,用于将应用程序的逻辑、数据和用户界面分离,以提高代码的可维护性和可扩展性。 - 模型(Model):负责管理应用程序的数据和业务逻辑。 - 视图(View):负责显示数据,即用户界面。 - 控制器(Controller):负责处理用户输入,协调模型和视图之间的交互。 ## 控制器类 现有RESTFul接口需求如下: - 获取指定用户的信息: GET /api/users/{id} - 新建用户: POST /api/users 完成对应的控制器类UserController. ```java // 注解Restcontroller表明这个类是控制器类 @RestController // 注解RequestMapping可设置父路径 @RequestMapping("/api/users") public class UserController { // GetMapping注解表示此方法对应的是Get请求. {id}表示从路径中获取用户id @GetMapping("{id}") public User getUser(@PathVariable Long id) { // 根据用户ID获取用户信息的逻辑 } //@PutMapping 注解表示对应Post请求 @PostMapping public User create( @RequestBody User user) { // 创建新用户的逻辑 } } ``` # 作业 3 1、简要描述软件架构设计中的典型层次架构,并解释每一层的主要职责。 典型的层次架构包括四个主要层次:表现层、业务层、持久层和数据库层。这种分层架构有助于清晰地划分职责,提高代码的可读性和可维护性。 表现层: 是应用程序的前端部分,包含展示、处理HTTP请求等功能。 业务层: 包含所有的业务逻辑。 持久层:包含所有的数据库存储逻辑。 数据库层:包含所有类型的数据库。 2、简要描述JDBC JDBC (Java Database Connectivity) 是Java中用于连接和操作关系型数据库的标准API。 JDBC允许Java应用程序与各种关系型数据库进行交互,包括执行SQL语句、处理查询结果等。 JDBC提供了一个统一的接口,使得开发者可以使用相同的API来操作不同的数 # 作业4 ## 什么是ORM?ORM框架的主要目的是什么? ORM (对象关系映射,Object-Relational Mapping) 是一种编程技术,用于将对象模型映射到关系型数据库模型。 ORM框架的主要目的是简化数据库操作,提高开发效率。 ## 实现JPA实体类User ```java // 使用注解Entity声明User类是一个实体类 @Entity public class User{ // id是主键,需要添加注解id @id // 主键自增 @GeneratedValue(strategy = GenerationType.IDENTITY) Long id; //用户名,在数据库表中对应的字段名user_name,需要使用注解Column @Column(name = "user_name") String name; // 密码 String password; // 年龄 Integer age; } ``` ## 实现实体类User的数据库接口UserRepository 接口需求: - 提供根据用户名查找用户的接口。 - 提供查找年龄大于指定年龄的用户的接口。 ```java public interface UserRepository extends JpaRepository { // 根据用户名查找用户 User findByName(String name); // 查找大于指定年龄的用户 List findByAgeGreaterThan(Integer age); } ```