实现用户的登录,并且登录后显示用户名

利用servlet,jsp实现用户的登录,并且登录后显示用户名(连接数据库)

显示用户名这里是通过session传递数据,登陆成功后点击退出时要清除页面session。 使用软件:tomcat-8.5.34,mysql,java 我们一共需要写:

    位于src下的服务器端用于登录的LoginServlet,登陆成功后用于退出的SuccessServlet 位于web下的前端登录页面login.html,登陆成功后的页面success.jsp,登录失败的页面error.html;
首先我们来写登录的服务器端LoginServlet

下面是登陆成功后用于退出的SuccessServlet,点击退出按钮回到登录页面

import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
import java.io.IOException;

@WebServlet(urlPatterns = "/SuccessServlet")
public class SuccessServlet extends HttpServlet {
          
   
    @Override
    protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
          
   
        doPost(req, resp);
    }

    @Override
    protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
          
   
        try {
          
   
                req.getRequestDispatcher("/login.html").forward(req, resp);
                HttpSession session=null;
                session = req.getSession();
                session.removeAttribute("uname");
        } catch (Exception e) {
          
   
            e.printStackTrace();
        }
    }
}
接下来我们来写登录的页面login.html
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>login</title>
</head>
<body>
<h1>登录</h1>

<form action="loginServlet" method="post">
    username:<input type="text" name="uname"><br>
    password:<input type="password" name="upass"><br>
    <input type="submit" value="登录"/>
</form>
</body>
</html>
最后我们来写登录候的页面success.jsp及error.html
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
    <title>success</title>
    <script>
        function jump(){
            
     
            window.location.href="/SuccessServlet";
        }
    </script>
</head>
<body>
<h1>欢迎你,${ sessionScope.uname}</h1>
<button onclick=javascript:jump()>退出</button>
</body>
</html>
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>登录失败</title>
</head>
<body>
<h1>登录失败!!!!</h1>
</body>
</html>

到这里代码的部分就完成了,在部署Tomcat的时候,有一个index.jsp,这是Tomcat运行的首页,我们可以将login.html作为超链接写在index.jsp中,也可以将login.html的内容全部写在index.jsp中,就不需要login.html了,下面讲解怎么部署Tomcat:

首先点击idea右上角的edit configurations… 之后我们点击加号 向下翻,找到Tomcat server—local 选择好安装路径后,点击fix,然后点击应用,确定。

下面是我们的运行结果:

点击退出之后回到登录页面 登录失败:

经验分享 程序员 微信小程序 职场和发展