zoukankan      html  css  js  c++  java
  • servlet实现登陆注册

    拿到信息必须进行非空验证
    用servlet做注册登陆时,在form表单的action中不用加后缀.java,jsp文件需要加

    public boolean CheckParm(String...args){
            for(String s:args){
                if("".equals(s)||s==null){
                    return false;
                }
            }
            
            return true;
            
        }

    当不确定传入的参数个数是可以用String...args,表示多参数传入
    有返回值类型的方法一定加return

    在servlet里面执行的代码写在doget方法中

            request.setCharacterEncoding("utf-8");
            response.setCharacterEncoding("utf-8");
            response.setContentType("text/html; charset=utf-8");

    防止输出出现乱码的代码表示

    <%@ page language="java" contentType="text/html; charset=UTF-8"
        pageEncoding="UTF-8"%>
    <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
    <title>Insert title here</title>
    </head>
    <body>
        <form action="TextServlet" method="post"> 
            <input type="text"  name="username" placeholder="请输入用户名"/><br>
            <input type="text"  name="password" placeholder="请输入密码"/><br>
            <input type="text"  name="password1" placeholder="请再次输入密码"/><br> 
            <input type="text"  name="realname" placeholder="请输入真实名字"/><br> 
            <input type="submit" value="提交"/>
            <a href="login.jsp"> 超级链接</a>
        </form>
    
    
    
    
    </body>
    </html>

    注册的servlet类

    package com.hanqi.textservlet;
    
    import java.io.IOException;
    import javax.servlet.ServletException;
    import javax.servlet.annotation.WebServlet;
    import javax.servlet.http.HttpServlet;
    import javax.servlet.http.HttpServletRequest;
    import javax.servlet.http.HttpServletResponse;
    
    /**
     * Servlet implementation class TextServlet
     */
    @WebServlet("/TextServlet")
    public class TextServlet extends HttpServlet {
        private static final long serialVersionUID = 1L;
           
        /**
         * @see HttpServlet#HttpServlet()
         */
        public TextServlet() {
            super();
            // TODO Auto-generated constructor stub
        }
    
        /**
         * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
         */
        protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
            request.setCharacterEncoding("utf-8");
            response.setCharacterEncoding("utf-8");
            response.setContentType("text/html; charset=utf-8");
            
            String username = request.getParameter("username");
            String password = request.getParameter("password");
            String password1 = request.getParameter("password1");
            String realname = request.getParameter("realname");
            
            response.getWriter().append("username:"+username+"password:"+password+"realname:"+realname);
            
            if(CheckParm(username,password,password1)){
                if(password.equals(password1)){
                    Object obj=request.getServletContext().getAttribute(username);
                    if(obj==null){
                        request.getServletContext().setAttribute(username, username);
                        request.getServletContext().setAttribute(password, password);
                        response.sendRedirect("message.jsp?code=1");
                    }else{
                        response.sendRedirect("message.jsp?code=4");
                    }
                }else{
                    response.sendRedirect("message.jsp?code=3");
                }
            }else{
                response.sendRedirect("message.jsp?code=2");
            }
            
        }
    
        /**
         * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
         */
        protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
            // TODO Auto-generated method stub
            doGet(request, response);
        }
        public boolean CheckParm(String...args){
            for(String s:args){
                if("".equals(s)||s==null){
                    return false;
                }
            }
            
            return true;
            
        }
        
    
    }
    <%@ page language="java" contentType="text/html; charset=UTF-8"
        pageEncoding="UTF-8"%>
    <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
    <title>Insert title here</title>
    </head>
    <body>
            <form action="LoginServlet" method="post"> 
            <input type="text"  name="username" placeholder="请输入用户名"/><br>
            <input type="text"  name="password" placeholder="请输入密码"/><br>
            <input type="submit" value="登陆"/>
        </form>
        
    </body>
    </html>

    登陆的servlet类

    package com.hanqi.textservlet;
    
    import java.io.IOException;
    
    import javax.servlet.ServletContext;
    import javax.servlet.ServletException;
    import javax.servlet.annotation.WebServlet;
    import javax.servlet.http.HttpServlet;
    import javax.servlet.http.HttpServletRequest;
    import javax.servlet.http.HttpServletResponse;
    
    /**
     * Servlet implementation class LoginServlet
     */
    @WebServlet("/LoginServlet")
    public class LoginServlet extends HttpServlet {
        private static final long serialVersionUID = 1L;
           
        /**
         * @see HttpServlet#HttpServlet()
         */
        public LoginServlet() {
            super();
            // TODO Auto-generated constructor stub
        }
    
        /**
         * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
         */
        protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
            request.setCharacterEncoding("utf-8");
            response.setCharacterEncoding("utf-8");
            response.setContentType("text/html; charset=utf-8");
            
            
            String username=request.getParameter("username");
            String password=request.getParameter("password");
            
            ServletContext application=request.getServletContext();
            Object obj=application.getAttribute(username);
            Object ob=application.getAttribute(password);
            if(obj!=null){
                String user=(String)obj;
                if(username.equals(user)){
                    if(password.equals(ob)){
                        response.sendRedirect("index.jsp");
                    }else{response.sendRedirect("message.jsp?code=7");}
                }else{
                    response.sendRedirect("message.jsp?code=5");
                    }
                }else{
                    response.sendRedirect("message.jsp?code=6");
                    }
            }
        /**
         * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
         */
        protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
            // TODO Auto-generated method stub
            doGet(request, response);
        }
    
    }

    未按要求输入的提示页面的实现

    <%@ page language="java" contentType="text/html; charset=UTF-8"
        pageEncoding="UTF-8"%>
    <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
    <title>Insert title here</title>
    </head>
    <body>
        <%
            String code=request.getParameter("code");
            if("1".equals(code)){
                out.print("<h1>注册成功!</h1>");        
            }if("2".equals(code)){
                out.print("<h1>信息输入不完整!</h1>");        
            }if("3".equals(code)){
                out.print("<h1>输入的密码不一致!</h1>");        
            }if("4".equals(code)){
                out.print("<h1>用户已经存在!</h1>");        
            }if("5".equals(code)){
                out.print("<h1>用户名错误!</h1>");        
            }if("6".equals(code)){
                out.print("<h1>用户不存在!</h1>");        
            }if("7".equals(code)){
                out.print("<h1>密码错误!</h1>");        
            }
        
        %>
    </body>
    </html>
  • 相关阅读:
    Java实验四
    Java第八周学习总结
    Java实验三
    输入输出练习
    第七周
    20145113 实验二 Java面向对象程序设计
    2020-2021-1 20209306 《linux内核原理与分析》第九周作业
    2020-2021-1 20209306 《linux内核原理与分析》第八周作业
    2020-2021-1 20209306 《linux内核原理与分析》第七周作业
    2020-2021-1 20209306 《linux内核原理与分析》第六周作业
  • 原文地址:https://www.cnblogs.com/NCL--/p/7406717.html
Copyright © 2011-2022 走看看