java-web/docs/tasks/chapter02-teaks.md

147 lines
4.5 KiB
Markdown
Raw Normal View History

2024-08-07 22:44:04 +08:00
# 2. Java Web基础回顾和增强
## 第一部分HTTP协议1小时
### 任务1http协议分析 (10分钟)
- **目标**掌握http协议理解http请求和响应的过程以及http请求头和响应头的作用。
- **步骤**
1. 在浏览器中打开开发者工具选择Network选项卡。
2. 使用浏览器访问https://www.baidu.com/,观察浏览器的请求和响应过程。
3. 找到请求url为 https://www.baidu.com/ 的请求,查看请求头和响应头。找到这些字段值:
Request Method:
Status Code:
Content-Type:
4. 在页面的搜索框中, 输入: 临沂科技职业学院,观察浏览器的请求和响应过程。
5. 将网站提供搜索建议的URL记录下来观察此URL请求对应的请求头、响应头、请求数据、响应数据数据。
-
- **评估**:将字段值填在上面步骤中。
### 任务2http method get put post delete (10分钟)
- **目标**理解http method理解get、put、post、delete的区别。
- **步骤**
1. 在浏览器中打开开发者工具选择Network选项卡。
2. 使用浏览器访问https://jsonplaceholder.typicode.com/
3. 点击页面上的如下图的连接,观察浏览器的请求和响应过程。
![](../resources/http-api-test.png)
### 任务3 自定义请求 (40分钟)
- **目标**理解http method能使用api工具测试web api。
- **步骤**
1. idea中安装插件Restful Api Tool
2. 在此插件中自己按照任务2中的几个接口 填写url和请求参数点击发送请求观察回应数据。
## 第二部分HTML/CSS/JavaScript基础实践4小时
1. **HTML5标签使用**
- 使用HTML5的新标签如`<header>`、`<nav>`、`<section>`、`<article>`等)构建页面结构。
- 练习使用HTML5的表单控件如日期选择器、电子邮件验证等。
2. **CSS3样式和布局**
- 应用CSS3的新选择器尝试不同的布局方式如Flexbox和Grid。
3. **JavaScript基本语法和DOM操作**
- 实践变量声明、数据类型、条件语句、循环、函数等基本语法。
- 编写脚本来操作DOM如添加元素、修改元素属性、绑定事件监听器等。
4. **综合练习:登录/注册页面**
- **目标**设计并实现一个登录或注册页面使用HTML5、CSS3和JavaScript。
- **步骤**
1. **设计页面结构**使用HTML5标签构建页面的基本结构。
2. **添加样式**使用CSS3为页面添加样式包括布局、背景、边框等。
3. **实现交互**使用JavaScript添加交互功能如表单验证、按钮点击事件等。
4. **扩展功能**如果时间允许可以考虑使用localStorage来保存用户的登录状态或偏好设置。
### 示例代码:登录页面
```html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Login Page</title>
<style>
body {
font-family: Arial, sans-serif;
display: flex;
justify-content: center;
align-items: center;
height: 100vh;
margin: 0;
background-color: #f4f4f9;
}
.login-form {
width: 300px;
padding: 20px;
background: white;
border-radius: 8px;
box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);
}
.login-form h2 {
text-align: center;
}
.form-group {
margin-bottom: 20px;
}
.form-group label {
display: block;
margin-bottom: 5px;
}
.form-group input {
width: 100%;
padding: 10px;
border: 1px solid #ddd;
border-radius: 4px;
}
.form-group button {
width: 100%;
padding: 10px;
background-color: #007bff;
color: white;
border: none;
border-radius: 4px;
cursor: pointer;
}
.form-group button:hover {
background-color: #0056b3;
}
</style>
</head>
<body>
<div class="login-form">
<h2>Login</h2>
<div class="form-group">
<label for="username">Username</label>
<input type="text" id="username" placeholder="Enter your username">
</div>
<div class="form-group">
<label for="password">Password</label>
<input type="password" id="password" placeholder="Enter your password">
</div>
<div class="form-group">
<button onclick="validateForm()">Login</button>
</div>
</div>
<script>
function validateForm() {
const username = document.getElementById('username').value;
const password = document.getElementById('password').value;
if (username === '' || password === '') {
alert('Please fill in all fields.');
} else {
alert('Login successful!');
localStorage.setItem('isLoggedIn', 'true');
}
}
</script>
</body>
</html>
```