zoukankan      html  css  js  c++  java
  • servlet项目demo

    页面逻辑

      页面:首页、登录页面、登录成功页面

      servlet:登录服务成功跳到登录成功页面

      filter:判断是否登录。无登录信息跳转到登录页面

    登录&首页

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>Title</title>
    </head>
    <body>
    
    <form action="/loginServlet" method="post">
        请输入账号<input type="text" name="username"><br>
        请输入密码<input type="text" name="password"><br>
        <input type="submit">
        
        
        
    </form>
    </body>
    </html>

    登录成功页面

    <!--登录成功-->
    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>Title</title>
    </head>
    <body>
    success
    </body>
    </html>

    loginfilter.java

    package filter;
    
    import javax.servlet.*;
    import javax.servlet.annotation.WebFilter;
    import javax.servlet.http.HttpServletRequest;
    import javax.servlet.http.HttpServletResponse;
    import javax.servlet.http.HttpSession;
    import java.io.IOException;
    
    @WebFilter(filterName = "Loginfilter", urlPatterns = {"/*"})
    public class loginfilter implements Filter {
        public void destroy() {
        }
    
        public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws ServletException, IOException {
            HttpServletRequest reqs = (HttpServletRequest) request;
            HttpServletResponse res = (HttpServletResponse) response;
            System.out.println(" req.getRequestURI() " + reqs.getRequestURI());
    
            String requestURI = reqs.getRequestURI();
            // 获取请求地址
    //        String requestURI = req.getRequestURI().substring(req.getRequestURI().indexOf("/", 1),
    //                req.getRequestURI().length());
    
            // 登陆页面和接口放开限制,否则死循环
            if ("/login.html".equals(requestURI) || "/loginServlet".equals(requestURI)) {
                chain.doFilter(reqs, res);
            } else {
                // 默认不开启
                HttpSession session = reqs.getSession(false);
                // 如果session中没有用户信息,拦截返回登陆页面
                if (session == null || session.getAttribute("username") == null) {
                    System.out.println(session);
                    res.sendRedirect(reqs.getContextPath() + "/login.html");
                    // 返回
                    return;
                } else {
                    System.out.println(session);
                    chain.doFilter(reqs, res);
                }
            }
        }
    
    
    
        public void init(FilterConfig config) throws ServletException {
    
        }
    
    }

    loginServlet.java

    package servlet;
    
    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(name = "loginServlet",urlPatterns = "/loginServlet")
    public class loginServlet extends HttpServlet {
        protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
            request.setCharacterEncoding("utf-8");
            response.setCharacterEncoding("utf-8");
            String username=request.getParameter("username");
            String password=request.getParameter("password");
            System.out.println(username);
    //        if(username=="admin" && password=="123"){
            System.out.println(password);
            HttpSession session = request.getSession();//获取session
            session.setAttribute("username",username);
            session.setAttribute("password",password);
            response.sendRedirect(request.getContextPath()+"/success.html");
    
    
    //        }
        }
    
        protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
    
        }
    }

    代码结构

    依赖包:

        <dependency>
            <groupId>javax.servlet</groupId>
            <artifactId>javax.servlet-api</artifactId>
            <version>4.0.1</version>
            <scope>provided</scope>
        </dependency>
  • 相关阅读:
    不懂不可耻,可耻的是每当遇到不懂的东西不是想办法去学去了解而是极力掩饰。
    在咱学校的论坛上看到的一句话,觉得……我们都在等待某个人,等到累了,就随便牵起某人的手,默默地走进礼...
    在Linux下用Virtualbox虚拟机安装Windows XP
    大学里的挂科是对考前三天不用功的惩罚.这是教算法的赵PZ讲的,窃以为很有道理。可是接下来的十一天里我...
    壮哥!才发现你博客里这么多好东西,慢慢欣赏了,哈哈~~~~~~~~~~
    哥们现在用的什么?ghs不是又被封了吗
    提取字符串中的数字并分别保存
    十一天八考之路
    WPF使ListBox支持手势多选功能
    动手实现扩展属性为对象动态添加获取数据(续)
  • 原文地址:https://www.cnblogs.com/ysmdbk/p/11364707.html
Copyright © 2011-2022 走看看