1、jsp登录系统这次涉及到四个文件:登录页面:login.html登录成功欢迎页面:login_success.jsp登录失败页面:login_failure.jspServlet处理文件:LoginServlet.java其实还涉及到一个文件:web.xml,这个后面再说:下面分别介绍这几个文件:登录页面:login.html登录用户登录用户名:密码: function validateLogin()var sUserName = document.frmLogin.txtUserName.value;var sPassword = d
2、ocument.frmLogin.txtPassword.value;if( sUserName= )alert(请输入用户名!);return false;if( sPassword= )alert(请输入密码!);return false;登录成功欢迎页面:login_success.jspMy JSP login_failure.jsp starting page!-欢迎您,登录成功!登录失败页面:login_failure.jspMy JSP login_failure.jsp starting page!-对不起,登录失败!Servlet处理文件: LoginServlet.java
3、/* 该JSP程序是用来测试与MySQL数据库的连接,* 需要一个数据库:LearnJSP,和其中一个表:userinfo* 表中有两个字段分别为:UserName varchar (20) not null,UserPwd varchar (20) not null*/package zieckey.login.servlet;import java.sql.Statement;import java.io.IOException;import java.sql.DriverManager;import java.sql.ResultSet;import java.sql.SQLExcept
4、ion;import javax.servlet.Servlet;import javax.servlet.ServletException;import javax.servlet.http.HttpServlet;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;public class LoginServlet extends HttpServlet implements Servletpublic LoginServlet ()/ TODO Auto-ge
5、nerated constructor stub/* (non-Javadoc)* see javax.servlet.http.HttpServlet#doGet(javax.servlet.http.HttpServletRequest,* javax.servlet.http.HttpServletResponse)*/Overrideprotected void doGet ( HttpServletRequest arg0, HttpServletResponse arg1 )throws ServletException, IOException/* (non-Javadoc)*
6、see javax.servlet.http.HttpServlet#doPost(javax.servlet.http.HttpServletRequest,* javax.servlet.http.HttpServletResponse)*/Overrideprotected void doPost ( HttpServletRequest request, HttpServletResponse response )throws ServletException, IOExceptionresponse.setContentType ( text/html );String result
7、 = ;/ 获取用户名String sUserName = request.getParameter ( txtUserName );if ( sUserName = | sUserName = null | sUserName.length ( ) 20 )tryresult = 请输入用户名(不超过20字符)!;request.setAttribute ( ErrorUserName, result );response.sendRedirect ( login.html ); catch ( Exception e )/ 获取密码String sPasswd = request.getP
8、arameter ( txtPassword );if ( sPasswd = | sPasswd = null | sPasswd.length ( ) 20 )tryresult = 请输入密码(不超过20字符)!;request.setAttribute ( ErrorPassword, result );response.sendRedirect ( login.html ); catch ( Exception e )/ 登记JDBC驱动程序tryClass.forName ( org.gjt.mm.mysql.Driver ).newInstance ( ); catch ( In
9、stantiationException e )/ TODO Auto-generated catch blocke.printStackTrace ( );System.out.println (InstantiationException); catch ( IllegalAccessException e )/ TODO Auto-generated catch blocke.printStackTrace ( );System.out.println (IllegalAccessException); catch ( ClassNotFoundException e )/ TODO A
10、uto-generated catch blocke.printStackTrace ( );System.out.println (ClassNotFoundException);/ 连接参数与Access不同String url = jdbc:mysql:/localhost/LearnJSP;/ 建立连接java.sql.Connection connection = null;Statement stmt = null;ResultSet rs = null;tryconnection = DriverManager.getConnection ( url, root, 011124
11、);stmt = connection.createStatement ( );/ SQL语句String sql = select * from userinfo where username= + sUserName+ and userpwd = + sPasswd + ;rs = stmt.executeQuery ( sql );/ 返回查询结果 catch ( SQLException e )/ TODO Auto-generated catch blocke.printStackTrace ( );tryif ( rs.next ( ) )/ 如果记录集非空,表明有匹配的用户名和密
12、码,登陆成功/ 登录成功后将sUserName设置为session变量的UserName/ 这样在后面就可以通过 session.getAttribute(UserName) 来获取用户名,/ 同时这样还可以作为用户登录与否的判断依据request.getSession ( ).setAttribute ( UserName, sUserName );response.sendRedirect ( login_success.jsp ); else/ 否则登录失败/response.sendRedirect ( MyJsp.jsp );response.sendRedirect ( login
13、_failure.jsp ); catch ( SQLException e )/ TODO Auto-generated catch blocke.printStackTrace ( );tryif ( null!=rs )rs.close ( );if ( null!=stmt )stmt.close ( );if ( null!=connection )connection.close ( ); catch ( SQLException e )/ TODO Auto-generated catch blocke.printStackTrace ( );/*/private static
14、final long serialVersionUID = 1L;为了让这个网站正常运行还要到web.xml中注册一下,现该文件内容修改如下:web-app xmlns= xmlns:xsi=http:/www.w3.org/2001/XMLSchema-instance version=2.4 xsi:schemaLocation= LoginServletLoginServletzieckey.login.servlet.LoginServletLoginServlet/LoginServlet好了,这几个文件就可以构成我们的这个登录界面了.注意事项:1. 文件目录形式login.html
15、,login_success.html,login_failure.html这三个文件放在同一目录,LoginServlet.java该文件的字节码文件LoginServlet.class放在WEB-INFclasses目录下(注意jar包顺序)现在整个工程的目录形式是:M:Tomcat5.5webappsJSP_Servlet_JavaBean_Login 的目录007-01-18 15:16 META-INF007-01-18 15:16 WEB-INF007-01-18 16:17 1,801 login.html007-01-18 15:48 858 login_failure.jsp
16、007-01-18 15:40 234 login_success.html007-01-18 15:46 781 MyJsp.jsp007-01-18 16:12 859 login_success.jspM:Tomcat5.5webappsJSP_Servlet_JavaBean_LoginWEB-INF 的目录007-01-18 15:16 classes007-01-18 15:16 lib007-01-18 16:21 606 web.xmlM:Tomcat5.5webappsJSP_Servlet_JavaBean_LoginWEB-INFclasseszieckeyloginservlet 的目录2007-01-18 16:18 3,900 LoginServlet.class2. 其他注意事项数据库MySQL服务器程序要先启动起来.
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1