简单的JSP-Servlet登录,注册,修改密码操作

来源:互联网 发布:linux 自旋锁不能睡眠 编辑:程序博客网 时间:2024/05/29 09:55
首先,用JSP写出最初的登录页面
 <Script Language="javascript">   function confirm() { document.form_enter.action="ConfirmServlet"; document.form_enter.submit(); }function modify() { document.form_enter.action="/jsp/enter/modify.jsp"; document.form_enter.submit(); } function register() { document.form_enter.action="jsp/enter/register.jsp"; document.form_enter.submit();} </Script>    <body><div align="center"><form name="form_enter" action=""> 用户名:<input type="text" name="user"><br>密  码:<input type="password" name="password"><br><INPUT Type="Button" Name="Confirm" value="确定 " onClick="confirm()"><INPUT Type="Button" Name="Register" value="注册 " onClick="register()"> <INPUT Type="Button" Name="Modify" value="修改密码 " onClick="modify()"> </form></div>  </body>
有两个文本输入框,外加三个按钮,定义三个函数,分别实现三个按钮的功能,下面来分析第一个确定按钮所需要对应的Servlet的实现.在ConfirmServlet里,主要复写post方法,其余就不贴了.
public void doPost(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException{Administrator ad = new Administrator();MD5 md5 = new MD5();ad.setUser(request.getParameter("user"));ad.setPassword(md5.GetMD5Code(request.getParameter("password")));Operation o =new Operation();try {if(!o.check(ad)){request.getRequestDispatcher( "/jsp/fail/AdministratorFail.jsp").forward(request,response);}else{request.getRequestDispatcher( "/jsp/success/AdministratorSuccess.jsp").forward(request,response);}} catch (SQLException e) {// TODO Auto-generated catch blocke.printStackTrace();}}

这儿我说一下,md5.GetMD5Code()是我的一个类,对数据进行加密,可以在我的文章里面找到这个帖子,里面是MD5加密的实现方法.o.check()对用户名和密码进行验证.


下面是注册操作,通过register()跳转到注册界面

<Script Language="javascript">   function confirm() { document.form_enter.action="RegisterServlet"; document.form_enter.submit(); }</Script>  <body>    <div align="center"><form name="form_enter" action=""> 用户名:<input type="text" name="user"><br>密  码:<input type="password" name="password1"><br>再次输入:<input type="password" name="password2"><br><INPUT Type="Button" Name="Confirm" value="确定 " onClick="confirm()"></form></div>  </body>
调用confirm函数跳转到RegisterServlet进行处理,同样只复写post函数

public void doPost(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException {Administrator ad = new Administrator();MD5 md5 = new MD5();ad.setUser(request.getParameter("user"));Operation o =new Operation();try {if(o.checkUser(ad)){request.getRequestDispatcher( "/jsp/fail/RepeatUserFail.jsp").forward(request,response);//已经存在此用户}else{if(!request.getParameter("password1").equals(request.getParameter("password2"))){request.getRequestDispatcher( "/jsp/fail/RepeatPasswordFail.jsp").forward(request,response);}else{System.out.println("验证成功");ad.setPassword(md5.GetMD5Code(request.getParameter("password1")));o.CreaterNewAdministrator(ad);request.getRequestDispatcher( "/jsp/success/RegisterSuccess.jsp").forward(request,response);}}} catch (SQLException e) {// TODO Auto-generated catch blocke.printStackTrace();}
其中,checkUser()目的是检测数据库中是否已经有此用户,如果有,则返回提示的jsp界面,判断完用户名之后还要判断两次输入密码是否一致,若不一致,依然跳转.

CreaterNewAdministrator()用来在数据库中建立新账户.


0 0
原创粉丝点击