java-web/docs/tasks/作业.md
2024-12-11 14:07:27 +08:00

124 lines
3.7 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 作业1 9.25 9.26
## HTTP请求包的结构包括哪些部分请简介每部分所包含内容。
一个完整的HTTP请求包通常包含三部分
- 请求行包含请求方法Method、请求的URL和HTTP版本。
- 请求头:包含一系列键值对,提供了关于请求的额外信息,如客户端类型、接受的内容类型等。
- 请求体请求体并不是所有HTTP请求都有的部分主要用于包含要发送给服务器的数据,如表单数据、上传的文件内容等
## 实现一个计数器页面
使用html和js实现一个计数器要求
- 计数器的初始值为0每次点击页面上的按钮时计数器的值增加1。
- 在页面上显示计数器的值。
- 使用JavaScript实现按钮点击事件监听器。
```html
<html>
<head>
<meta charset="UTF-8">
<title>计数器</title>
</head>
<body>
<h1>计数器: <span id="counter"> 0 </span></h1>
<button id="button">增加</button>
<script>
let number = 0;
const counter = document.getElementById('counter');
const button = document.getElementById('button');
button.addEventListener('click', function() {
number++;
counter.innerText = number;
});
</script>
</body>
</html>
```
# 作业2 11.13 11.14
## 什么是MVC设计模式请简要说明其主要组成部分及其作用。
MVCModel-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 11.27 11.28
## 什么是ORMORM框架的主要目的是什么
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, Long> {
// 根据用户名查找用户
User findByName(String name);
// 查找大于指定年龄的用户
List<User> findByAgeGreaterThan(Integer age);
}
```