目录
核心代码
//login.html
<!DOCTYPE html>
<html lang="zh-CN">
<head>
<meta charset="UTF-8">
<link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/3.4.1/css/bootstrap.min.css" integrity="sha384-HSMxcRTRxnN+Bdg0JdbxYKrThecOKuH5zCYotlSAcp1+c8xmyTe9GYg1l9a69psu" crossorigin="anonymous">
<title>登录</title>
<style type="text/css">
body{
margin: 0;
padding: 0;
}
h1{
text-align: center;
}
/*标题下的一个盒子,用于撑大空间*/
.box{
margin-bottom: 50px;
}
a{
text-decoration: none;
}
.form-group{
margin: 0 auto;
padding: 20px;
width: 500px;
}
.submit{
width: 80px;
height: 40px;
margin: 30px auto;
}
.submit-btn{
width: 80px;
height: 40px;
color: white;
border: none;
border-radius: 5px;
list-style: none;
background-color: #737373;
}
.jumbotron{
margin: 300px 0px 0px 0px;
color: black;
background-color: #EEEEEE;
text-align: center;
}
</style>
</head>
<body>
<h1>用户登录</h1>
<div class="box"></div>
<form action="/demo2_war/LoginServlet" method="post">
<div class="form-group">
<label for="username">用户名</label>
<input type="text" class="form-control" name="uName" id="uName" placeholder="请输入用户名" />
</div>
<div class="form-group">
<label for="pwd">密码</label>
<input type="password" class="form-control" name="uPwd" id="uPwd" placeholder="请输入密码">
</div>
<div class="submit">
<input type="submit" class="submit-btn" value="登录"/>
</div>
</form>
<div class="jumbotron">
©2022 | <a href="https://sakurafeiyu.top">sakurafeiyu.gitee.io</a>
</div>
</body>
</html>
//IndexServlet
package cn.scit.htl.demo2;
import cn.scit.htl.empty.User;//导入用户类
import javax.servlet.*;
import javax.servlet.http.*;
import javax.servlet.annotation.*;
import java.io.IOException;
import java.io.PrintWriter;
@WebServlet(name = "IndexServlet", value = "/IndexServlet")
public class IndexServlet extends HttpServlet {
@Override
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
doPost(request, response);
}
@Override
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
response.setContentType("text/html;charset=utf-8");
HttpSession session = request.getSession();
User user = (User) session.getAttribute("user");
if (user == null){
response.getWriter().println("您还没有登录,请"+"<a href='/demo2_war/login.html'>登录</a>");
}else {
response.getWriter().println("<h1>登陆成功!</h1>"+"<br/>"+"<h2>欢迎用户:"+user.getuName()+"</h2>");
response.getWriter().println("<a href='/demo2_war/LogoutServlet'>退出</a>");
Cookie cookie = new Cookie("JSESSIONID",session.getId());
cookie.setMaxAge(60 * 30);
cookie.setPath("/demo2_war/");
response.addCookie(cookie);
}
}
}
//LoginServlet
package cn.scit.htl.demo2;
import cn.scit.htl.empty.User;//导入用户类
import javax.servlet.*;
import javax.servlet.http.*;
import javax.servlet.annotation.*;
import java.io.IOException;
import java.io.PrintWriter;
@WebServlet(name = "LoginServlet", value = "/LoginServlet")
public class LoginServlet extends HttpServlet {
@Override
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
doPost(request, response);
}
@Override
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
response.setContentType("text/html;charset=utf-8");
String uname = request.getParameter("uName");
String upwd = request.getParameter("uPwd");
PrintWriter out = response.getWriter();
if ("htl".equals(uname) && "666".equals(upwd)){
User user = new User();
user.setuName(uname);
user.setuPwd(upwd);
request.getSession().setAttribute("user",user);
response.sendRedirect("/demo2_war/IndexServlet");
}else{
out.println("用户名或密码错误!");
}
}
}
//LogoutServlet
package cn.scit.htl.demo2;
import javax.servlet.*;
import javax.servlet.http.*;
import javax.servlet.annotation.*;
import java.io.IOException;
@WebServlet(name = "LogoutServlet", value = "/LogoutServlet")
public class LogoutServlet extends HttpServlet {
@Override
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
doPost(request, response);
}
@Override
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
request.getSession().removeAttribute("user");//将session中的user对象移除
response.sendRedirect("/demo2_war/IndexServlet");
}
}
//User
package cn.scit.htl.empty;
//用户类
public class User {
private String uName;
private String uPwd;
// private String uAge;
// private String uSex;
// private String uAddress;
//构建成员变量
public String getuName() {
return uName;
}
public void setuName(String uName) {
this.uName = uName;
}
public String getuPwd() {
return uPwd;
}
public void setuPwd(String uPwd) {
this.uPwd = uPwd;
}
// public String getuAge() {
// return uAge;
// }
//
// public void setuAge(String uAge) {
// this.uAge = uAge;
// }
//
// public String getuSex() {
// return uSex;
// }
//
// public void setuSex(String uSex) {
// this.uSex = uSex;
// }
//
// public String getuAddress() {
// return uAddress;
// }
//
// public void setuAddress(String uAddress) {
// this.uAddress = uAddress;
// }
}
实现效果