完成:实验三

This commit is contained in:
2025-03-26 11:28:27 +08:00
parent 26d263a73c
commit 16194f2d5b
9 changed files with 158 additions and 0 deletions
+6
View File
@@ -0,0 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="com.codeverse.userSettings.MarscodeWorkspaceAppSettingsState">
<option name="ckgOperationStatus" value="SUCCESS" />
</component>
</project>
+15
View File
@@ -0,0 +1,15 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="GradleSettings">
<option name="linkedExternalProjectsSettings">
<GradleProjectSettings>
<option name="externalProjectPath" value="$PROJECT_DIR$" />
<option name="modules">
<set>
<option value="$PROJECT_DIR$" />
</set>
</option>
</GradleProjectSettings>
</option>
</component>
</project>
+6
View File
@@ -1,4 +1,10 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<project version="4"> <project version="4">
<component name="ExternalStorageConfigurationManager" enabled="true" /> <component name="ExternalStorageConfigurationManager" enabled="true" />
<component name="FrameworkDetectionExcludesConfiguration">
<file type="web" url="file://$PROJECT_DIR$" />
</component>
<component name="ProjectRootManager" version="2" languageLevel="JDK_17" default="true" project-jdk-name="17" project-jdk-type="JavaSDK">
<output url="file://$PROJECT_DIR$/out" />
</component>
</project> </project>
+6
View File
@@ -0,0 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="VcsDirectoryMappings">
<mapping directory="$PROJECT_DIR$/.." vcs="Git" />
</component>
</project>
@@ -0,0 +1,21 @@
package com.msksbr.homework3.entity;
public class User {
private String username;
private String password;
public String getUsername() {
return username;
}
public void setUsername(String username) {
this.username = username;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
}
@@ -0,0 +1,28 @@
package com.msksbr.homework3.servlet;
import com.msksbr.homework3.entity.User;
import jakarta.servlet.ServletException;
import jakarta.servlet.annotation.WebServlet;
import jakarta.servlet.http.*;
import java.io.IOException;
@WebServlet("/IndexServlet")
public class IndexServlet extends HttpServlet {
public void doGet(HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException {
response.setContentType("text/html;charset=UTF-8");
HttpSession session = request.getSession();
User user=(User)session.getAttribute("user");
if(user==null){
response.getWriter().print("您还没有登录,请" +
"<a href='/Gradle___com_msksbr___homework3_1_0_SNAPSHOT_war/login.html'>登录</a>");
}else {
response.getWriter().print("欢迎您,"+user.getUsername()+"");
response.getWriter().print("<a href='/Gradle___com_msksbr___homework3_1_0_SNAPSHOT_war/LogoutServlet'>退出</a>");
Cookie cookie = new Cookie("JSESSIONID",session.getId());
cookie.setMaxAge(60*30);
}
}
}
@@ -0,0 +1,36 @@
package com.msksbr.homework3.servlet;
import com.msksbr.homework3.entity.User;
import jakarta.servlet.ServletException;
import jakarta.servlet.annotation.WebServlet;
import jakarta.servlet.http.HttpServlet;
import jakarta.servlet.http.HttpServletRequest;
import jakarta.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.io.PrintWriter;
@WebServlet("/LoginServlet")
public class LoginServlet extends HttpServlet {
public void doGet(HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException {
response.setContentType("text/html;charset=UTF-8");
String username = request.getParameter("username");
String password = request.getParameter("password");
PrintWriter pw=response.getWriter();
if("msksbr".equals(username)&&"123456".equals(password)){
User user=new User();
user.setUsername(username);
user.setPassword(password);
request.getSession().setAttribute("user",user);
response.sendRedirect("/Gradle___com_msksbr___homework3_1_0_SNAPSHOT_war/IndexServlet");
}else {
pw.write("用户名或密码错误,请重新登录!");
}
}
public void doPost(HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException {
doGet(request, response);
}
}
@@ -0,0 +1,21 @@
package com.msksbr.homework3.servlet;
import jakarta.servlet.ServletException;
import jakarta.servlet.annotation.WebServlet;
import jakarta.servlet.http.HttpServlet;
import jakarta.servlet.http.HttpServletRequest;
import jakarta.servlet.http.HttpServletResponse;
import java.io.IOException;
@WebServlet("/LogoutServlet")
public class LogoutServlet extends HttpServlet {
public void doGet(HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException {
request.getSession().removeAttribute("user");
response.sendRedirect("/Gradle___com_msksbr___homework3_1_0_SNAPSHOT_war/login.html");
}
public void doPost(HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException {
doGet(request, response);
}
}
+19
View File
@@ -0,0 +1,19 @@
<!DOCTYPE html>
<html lang="zh_CN">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>登录</title>
</head>
<body>
<form
name="reg"
action="http://localhost:18080/Gradle___com_msksbr___homework3_1_0_SNAPSHOT_war/LoginServlet"
method="post"
>
用户名:<input name="username" type="text" /><br />
密码:<input name="password" type="password" /><br />
<input type="submit" value="提交" /><br />
</form>
</body>
</html>