mirror of
https://gitee.com/many2many/java-web.git
synced 2025-01-11 14:40:55 +08:00
Compare commits
2 Commits
85fd0d50e2
...
4c82cb66b7
Author | SHA1 | Date | |
---|---|---|---|
4c82cb66b7 | |||
6a60d88b74 |
123
docs/tasks/作业.md
Normal file
123
docs/tasks/作业.md
Normal file
@ -0,0 +1,123 @@
|
|||||||
|
|
||||||
|
# 作业1
|
||||||
|
|
||||||
|
## 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
|
||||||
|
|
||||||
|
## 什么是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
|
||||||
|
|
||||||
|
## 什么是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, Long> {
|
||||||
|
// 根据用户名查找用户
|
||||||
|
User findByName(String name);
|
||||||
|
// 查找大于指定年龄的用户
|
||||||
|
List<User> findByAgeGreaterThan(Integer age);
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
Loading…
Reference in New Issue
Block a user