package com.panabia.servlets;
import java.io.*; import javax.servlet.*; import javax.servlet.http.*; import java.sql.*; import com.panabia.db.SQLFactory;
public class Login extends HttpServlet { SQLFactory SQL=new SQLFactory();//创建数据库连接类 public void init(ServletConfig config) throws ServletException {super.init(config);}
public void doPost(HttpServletRequest request,HttpServletResponse response) throws IOException,ServletException { response.reset(); response.setContentType("text/html;charset=gb2312"); PrintWriter out=response.getWriter(); HttpSession session=request.getSession(true);
Connection con=null; PreparedStatement ps=null; ResultSet rs=null;
out.print("<html><title>java servlet</title><link rel=stylesheet href=/Apps/images/css.css/><body topmargin=100><center>"); //Start to process. String username=request.getParameter("username"); if(username==null)username="$"; String password=request.getParameter("password"); if(password==null)password="$"; String inputcode=request.getParameter("inputcode"); if(inputcode==null)inputcode="$"; String sessioncode=(String)session.getAttribute("rand"); if(sessioncode==null)sessioncode="#"; if(!username.startsWith("$")&&!password.startsWith("$")) { if(!inputcode.equals(sessioncode)){ out.print("<script language=javascript>window.alert('您输入的验证码错误,请重试!');</script>"); out.print("<a href='/Apps/portal.htm' class='slink'>返回登录</a>"); out.print("<br>"+"<font color=#666666 size=1 face=arial>try again please</font>"); } else{ try{ con=SQL.gainConnection(); ps=con.prepareStatement("select * from AppsUsers where username=?"); ps.setString(1,username); rs=ps.executeQuery(); if(rs.next()) { String p=rs.getString("password"); String u=rs.getString("username"); String role=rs.getString("role"); if(username.equals(u)&&password.equals(p)){ session.setAttribute("status","ok"); session.setAttribute("role",role); response.sendRedirect(response.encodeRedirectURL("/Apps/main.jsp")); } else{out.print("<script language=javascript>window.alert('您输入的密码错误,请重试!');</script>"); out.print("<a href='/Apps/portal.htm' class='slink'>重新登录</a>"); out.print("<br>"+"<font color=#666666 size=1 face=arial>try again please</font>"); } } else{out.print("<script language=javascript>window.alert('无效的系统帐户,请重试!');</script>"); out.print("<a href='/Apps/portal.htm' class='slink'>返回登录</a>"); out.print("<br>"+"<font color=#666666 size=1 face=arial>try again please</font>"); }
} catch(SQLException e){out.print("SQL error:"+e);} finally{SQL.releaseConnection(rs,ps,null,con); } //在业务方法中关闭数据库连接 }
out.print("</center></body></html>"); out.close(); } }
public void doGet(HttpServletRequest request,HttpServletResponse response) throws IOException,ServletException { doPost(request,response); }
public void destroy(){super.destroy(); if(SQL!=null) SQL=null;} //在destroy();方法中清空SQL 句柄-- }
|