1. 通过实现 Servlet 的方式,自行把GET/POST/DELETE/PUT种请求类型的处理方法设计一遍 2. 通过浏览器提交表单,传递 username 和 password 参数,通过 POST 请求类型请求后端servlet ,自行建立用户表 user(username,password,id),在控制台打印登录结果信息
时间: 2024-03-12 07:50:12 浏览: 27
好的,我可以帮你解决这个问题。首先,我们需要创建一个 Servlet 类来处理 GET/POST/DELETE/PUT 请求。以下是示例代码:
```java
import java.io.IOException;
import java.io.PrintWriter;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
public class MyServlet extends HttpServlet {
private static final long serialVersionUID = 1L;
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
response.setContentType("text/html");
PrintWriter out = response.getWriter();
out.println("<html><body>");
out.println("<h1>GET Request</h1>");
out.println("</body></html>");
}
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
response.setContentType("text/html");
PrintWriter out = response.getWriter();
out.println("<html><body>");
out.println("<h1>POST Request</h1>");
out.println("</body></html>");
}
protected void doDelete(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
response.setContentType("text/html");
PrintWriter out = response.getWriter();
out.println("<html><body>");
out.println("<h1>DELETE Request</h1>");
out.println("</body></html>");
}
protected void doPut(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
response.setContentType("text/html");
PrintWriter out = response.getWriter();
out.println("<html><body>");
out.println("<h1>PUT Request</h1>");
out.println("</body></html>");
}
}
```
在这个 Servlet 类中,我们实现了 doGet、doPost、doDelete 和 doPut 方法来分别处理 GET、POST、DELETE 和 PUT 请求。
接下来,我们需要创建一个 HTML 表单,以便用户可以通过 POST 请求类型向后端 Servlet 提交用户名和密码。以下是示例代码:
```html
<!DOCTYPE html>
<html>
<body>
<form method="post" action="MyServlet">
<label for="username">Username:</label>
<input type="text" id="username" name="username"><br><br>
<label for="password">Password:</label>
<input type="password" id="password" name="password"><br><br>
<input type="submit" value="Submit">
</form>
</body>
</html>
```
在这个表单中,我们使用了 POST 请求类型,并将 action 属性设置为我们刚刚创建的 Servlet 类的名称。
最后,我们需要在 Servlet 类中处理 POST 请求,获取表单中提交的用户名和密码,并将它们插入到用户表中。以下是示例代码:
```java
import java.io.IOException;
import java.io.PrintWriter;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
public class MyServlet extends HttpServlet {
private static final long serialVersionUID = 1L;
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
response.setContentType("text/html");
PrintWriter out = response.getWriter();
String username = request.getParameter("username");
String password = request.getParameter("password");
try {
// Connect to database
Class.forName("com.mysql.jdbc.Driver");
Connection con = DriverManager.getConnection("jdbc:mysql://localhost:3306/mydb", "root", "password");
// Insert user into user table
PreparedStatement ps = con.prepareStatement("INSERT INTO user (username, password) VALUES (?, ?)");
ps.setString(1, username);
ps.setString(2, password);
ps.executeUpdate();
ps.close();
// Print login result
out.println("<html><body>");
out.println("<h1>Login Result</h1>");
out.println("<p>Username: " + username + "</p>");
out.println("<p>Password: " + password + "</p>");
out.println("<p>Login successful!</p>");
out.println("</body></html>");
con.close();
} catch (Exception e) {
out.println("Error: " + e);
}
}
}
```
在这个 doPost 方法中,我们首先获取表单中提交的用户名和密码。然后,我们连接到数据库,并将用户名和密码插入到用户表中。最后,我们在控制台上打印登录结果信息。
希望这个示例能够帮助你理解如何使用 Servlet 处理不同类型的请求,并在数据库中插入用户信息。如果你有任何问题或疑问,请随时问我。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![doc](https://img-home.csdnimg.cn/images/20210720083327.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)