请求对象
用于发送请求的对象
常用
ServletRequest和HttpServletRequest,区别在于是否和HTTP协议有关
小示例
前端页面代码
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>学生管理系统</title>
</head>
<body>
<form action="/add" method="post" enctype="multipart/form-data">
姓名:<input type="text" placeholder="请输入姓名" name="name"></input><br/>
年龄:<input type="text" placeholder="请输入年龄" name="age"></input><br/>
文件:<input type="file" placeholder="选择头像" name="img"></input><br/>
<input type="submit" name="提交"/>
</form>
</body>
</html>
Student类
package com.example.Web_day01.StudentManageServlet;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
@Data
@NoArgsConstructor
@AllArgsConstructor
public class Student {
private String id;
private String name;
private int age;
private String img;
}
Servlet
@WebServlet("/add")
@MultipartConfig
public class AddServlet extends HttpServlet {
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
String name = req.getParameter("name");
int age = Integer.parseInt(req.getParameter("age"));
String realPath = req.getServletContext().getRealPath("/WEB-INF/img/");
Part img = req.getPart("img");
String filename = UUID.randomUUID().toString() + ".jpeg";
Path path = Paths.get(realPath + filename);
Files.copy(img.getInputStream(),path);
}
@Override
protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
doGet(req,resp);
}
}