您现在的位置:首页 >> 前端 >> 内容

通过Servlet验证登录信息并录入登录信息

时间:2017/7/14 9:56:39 点击:

  核心提示:了解通过Servlet验证登录信息并录入登录信息的操作首先创建两个ServletLongServlet与ZhuCeServletpackage com.yy.servlet.web.servlet;i...

了解通过Servlet验证登录信息并录入登录信息的操作

首先创建两个Servlet——LongServlet与ZhuCeServlet

package com.yy.servlet.web.servlet;  
  
import java.io.IOException;  
import java.io.PrintWriter;  
import java.util.HashMap;  
import java.util.Map;  
  
import javax.servlet.ServletException;  
import javax.servlet.http.HttpServlet;  
import javax.servlet.http.HttpServletRequest;  
import javax.servlet.http.HttpServletResponse;  
  
import com.yy.servlet.dao.UserDao;  
import com.yy.servlet.po.User;  
  
public class LongServlet extends HttpServlet{  
<span style="white-space:pre">  </span>@Override  
    protected void doGet(HttpServletRequest request, HttpServletResponse response)  
            throws ServletException, IOException {  
        doPost(request, response);//获取的doGet跳转到doPost方法中运行,因为doPost方法更安全  
    }  
    @Override  
    protected void doPost(HttpServletRequest request, HttpServletResponse response)  
            throws ServletException, IOException {  
        response.setContentType("text/html");  
        String username = request.getParameter("username");//获取页面的username  
        String password = request.getParameter("password");//获取页面的password  
        response.setCharacterEncoding("utf-8");//配置编码器  
        PrintWriter out = response.getWriter();//配置打印设施  
        out.print("username"+username);//在网页打印<span style="font-family: 'Microsoft Yahei', 'Helvetica Neue', Helvetica, Arial, sans-serif;">username</span>  
  
        out.print("<br/>");  
        out.print("password"+password);<span style="font-family: 'Microsoft Yahei', 'Helvetica Neue', Helvetica, Arial, sans-serif;">//在网页打印password</span>  
        UserDao userdao =UserDao.getInstance();//实例化UserDao类并获取getInstance()方法  
        Map<String, String> map = new HashMap<String, String>();//准备好存放数据的Map  
        map.put("username",username);//获取查询到的username  
        map.put("password",password);//获取查询到的password  
        User user =userdao.getMap(map);//把map存储的数据付给User  
          
        if(user!=null){//如果user不为空表示数据库中有对应数据则登录成功  
            out.print("登录成功");  
        }else{//user为空打印注册页面  
            out.print("登录失败,请注册");  
            out.print(" <form method='get' action='ZhuCeServlet'><br>");//点击注册跳转到<span style="font-family: 'Microsoft Yahei', 'Helvetica Neue', Helvetica, Arial, sans-serif;">ZhuCeServlet中去</span>  
  
            out.print(" 用户名:<input type='text' name='username'/><br>");  
            out.print("密码:<input type='password' name='password'><br>");  
            out.print("<input type='submit' value='注册'>");  
            out.print("</form>");  
              
              
        }  
        out.flush();//刷新页面  
        out.close();//关闭  
    }  
}  

import java.io.IOException;  
import java.io.PrintWriter;  
  
import javax.servlet.ServletException;  
import javax.servlet.http.HttpServlet;  
import javax.servlet.http.HttpServletRequest;  
import javax.servlet.http.HttpServletResponse;  
  
import com.yy.servlet.dao.UserDao;  
import com.yy.servlet.po.User;  
  
public class ZhuCeServlet extends HttpServlet{  
  
    @Override  
    protected void service(HttpServletRequest request, HttpServletResponse response)  
            throws ServletException, IOException {  
        response.setContentType("text/html");  
        response.setCharacterEncoding("UTF-8");  
        String username = request.getParameter("username");  
        String password= request.getParameter("password");  
          
        PrintWriter out =response.getWriter();  
          
          
        User user = UserDao.getInstance().getUserByusername(username);//查询数据库内容  
          
        if(user!=null){//如果user不为空表示数据库有相应信息注册失败,在页面打印注册表  
            out.print("用户名已存在,请重新输入<br>");  
            out.print(" <form method='get' action='ZhuCeServlet'><br>");  
            out.print(" 用户名:<input type='text' name='username'/><br>");  
            out.print("密码:<input type='password' name='password'><br>");  
            out.print("<input type='submit' value='注册'>");  
            out.print("</form>");  
        }else{  
            User user2 = new User();  
            user2.setUsername(username);  
            user2.setPassword(password);//把注册信息传输到User中  
            boolean flag =UserDao.getInstance().saveUser2(user2);//通过JDBC添加注册内容  
            if(flag){  
                out.print("注册成功");  
            }else{  
                out.print("注册失败");//注册失败,很有可能数据库出错  
            }  
        }  
    }  

然后通过WebRoot中WEB-INF下的web.xml配置相关内容

<?xml version="1.0" encoding="UTF-8"?>  
<web-app version="2.5"   
    xmlns="https://java.sun.com/xml/ns/javaee"   
    xmlns:xsi="https://www.w3.org/2001/XMLSchema-instance"   
    xsi:schemaLocation="https://java.sun.com/xml/ns/javaee   
    https://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">  
      
        <!-- 配置LongServlet -->  
        <servlet>  
            <servlet-name>LongServlet</servlet-name>  
            <servlet-class>com.yy.servlet.web.servlet.LongServlet</servlet-class>  
        </servlet>  
        <servlet-mapping>  
            <servlet-name>LongServlet</servlet-name>  
            <url-pattern>/LongServlet</url-pattern>  
        </servlet-mapping>  
        <!-- 配置LongServlet -->  
        <servlet>  
            <servlet-name>ZhuCeServlet</servlet-name>  
            <servlet-class>com.yy.servlet.web.servlet.ZhuCeServlet</servlet-class>  
        </servlet>  
  
        <servlet-mapping>  
            <servlet-name>ZhuCeServlet</servlet-name>  
            <url-pattern>/ZhuCeServlet</url-pattern>  
        </servlet-mapping>  
  
  <welcome-file-list>  
    <welcome-file>MyJsp.jsp</welcome-file>//首页的JSP  
  </welcome-file-list>  
    
</web-app>  

别忘了在JSP文件中编写首页表格

<h1>通过Servlet验证登录信息并录入登录信息</h1>  
    <form method="get" action="LongServlet">//action表示关联到LongServlet类  
        用户名:<input type="text" name="username"/><br>  
        密码:<input type="password" name="password"><br>  
        <input type="submit" value="登录">  
    </form>  
  </body>  

通过Servlet验证登录信息并录入登录信息的相关内容告一段落,但是Servlet的学习并没有结束

Tags:通过 过S SE ER 
作者:网络 来源:csdMo的博客