Jsp+Dao+Jdbc+Servelet 用户完整登录
2016-11-25 22:25
387 查看
用户填写好用户名和密码后发出登录请求给servlet(tomcat启动要加载web.xml文件,web.xml会根据index的action找到web.xml中的servlet,然后由servlet控制分发请求调用登录方法,
Index.jsp–web.xml—servlet.Java—dao—–servlet–success.jsp
1。 login.java (JavaBean)
2。 loginDao.java
3。 loginServlet.java
4。 MysqlConnection.java
5。index.jsp
6。success.jsp
7。web.xml
完整代码:http://download.csdn.net/detail/chuang504321176/9694016
Index.jsp–web.xml—servlet.Java—dao—–servlet–success.jsp
1。 login.java (JavaBean)
import java.util.List; public class login { private int id; private String username; private String password; private List errors; public boolean invalidate(){ boolean flag=true; /** * 1.先验证输入不为空,在验证合法的输入格式。 * 如果输入不为空,那么进行下一项合法的格式的验证 */ System.out.println("这是验证合法的格式前 得到的用户名********:"+this.username); if(this.username==null||"".equals(this.username)){ flag=false; errors.add("用户名不能为空!"); } //合法格式的验证 else{ if(this.username.length()<3||this.username.length()>10) { flag=false; errors.add("您应该输入合法的用户名,长度在3~10之间!"); } } if(this.password==null||"".equals(this.password)){ flag=false; errors.add("密码不能为空!"); } else{ if(this.password.length()<3||this.password.length()>10){ flag=false; errors.add("您应该输入合法的密码,的长度在3~10之间!"); } } return flag; } public int getId() { return id; } public void setId(int id) { this.id = id; } public String getUsername() { return username; } public void setUsername(String username) { this.username = username; } public String getPassword() { return password; } public void setPassword(String password) { this.password = password; } public List getErrors() { return errors; } public void setErrors(List errors) { this.errors = errors; } }
2。 loginDao.java
import java.sql.PreparedStatement; import java.sql.ResultSet; public class loginDao { public static boolean isLogin(login lg) { boolean flag = false; PreparedStatement pstm = null; ResultSet rs = null; String sql = null; MysqlConnection mc = new MysqlConnection(); sql = "select username,password from login where username=? and password=?"; try { System.out.println("这是要用到的sql………………:" + sql); pstm = mc.getConnection().prepareStatement(sql); System.out.println("@@@@@@@@要查询的用户名:"+lg.getUsername()); /*给?号占位符 赋值*/ pstm.setString(1, lg.getUsername()); pstm.setString(2, lg.getPassword()); rs = pstm.executeQuery(); if (rs.next()) { // flag = true; // lg.setUsername(rs.getString("username")); // lg.setPassword(rs.getString("password")); System.out.println("从mysql中取出的数据:::::name=="+rs.getString("username")+"----password=="+rs.getString("password")); if (lg.getUsername().equals(rs.getString("username")) && lg.getPassword().equals(rs.getString("password"))) { flag = true; } } } catch (Exception ex) { ex.printStackTrace(); } return flag; } }
3。 loginServlet.java
import java.io.IOException; import java.util.ArrayList; import java.util.List; import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import javax.servlet.RequestDispatcher; public class loginServlet extends HttpServlet { public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { this.doPost(request, response); } public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { List errors = new ArrayList() ; String path = "../index.jsp" ; String name=request.getParameter("username"); System.out.println("这是页面上的用户名:"+name); String pwd=request.getParameter("password"); System.out.println("这是页面上的密码:"+pwd); login lg=new login(); lg.setUsername(name); lg.setPassword(pwd); lg.setErrors(errors); boolean b=lg.invalidate(); System.out.println("判断输入格式的真假"+b); //下面的判断为 如果输入的格式合法,那么我们进行数据库端得验证 if(b){ if(loginDao.isLogin(lg)){ System.out.println("进行数据库端得判断***********"); path="../success.jsp"; }else{ errors.add("错误的用户名和密码!"); } } request.setAttribute("Error", errors); request.setAttribute("Lg", lg); //request.getRequestDispatcher(path) request.getRequestDispatcher(path).forward(request, response); } }
4。 MysqlConnection.java
import java.sql.* ; public class MysqlConnection { // 属性 // 定义数据库操作的常量、对象 // 数据库驱动程序 private final String DBDRIVER = "com.mysql.jdbc.Driver" ; // 数据库连接地址 private final String DBURL = "jdbc:mysql://localhost:3306/login_db" ; // 数据库用户名 private final String DBUSER = "root" ; // 数据库连接密码 private final String DBPASSWORD = "123456" ; // 声明一个数据库连接对象 private Connection conn = null ; // 在构造方法之中连接数据库 public MysqlConnection() { try { // 加载驱动程序 Class.forName(DBDRIVER) ; // 连接数据库 conn = DriverManager.getConnection(DBURL,DBUSER,DBPASSWORD) ; } catch (Exception e) { System.out.println(e) ; } } // 返回一个数据库连接 public Connection getConnection() { /// 返回连接对象 return this.conn ; } // 关闭数据库连接 public void close() { try { this.conn.close() ; } catch (Exception e) { } } }
5。index.jsp
<%@ page language="java" import="java.util.*" pageEncoding="gb2312"%> <%@page import="java.util.*"%> <html> <head> <title>用户登录</title> </head> <body> <% if(request.getAttribute("Error")!=null) { // 有错误,要进行打印输出 List all = (List)request.getAttribute("Error") ; Iterator iter = all.iterator() ; while(iter.hasNext()) { %> <li><%=iter.next()%> <% } } %> <form action="servlet/loginServlet" method="Post"> <table align="CENTER"> <tr><td colspan="2" align="CENTER"><h3><font color="#0000ff"><strong>用户登录</strong></font></h3></td></tr> <tr> <td align="right">用户名:</td> <td><input type="text" name="username"/></td> </tr> <tr> <td>密 码:</td> <td><input type="password" name="password"/></td> </tr> <tr> <td align="center"><input type="Submit" name="submit" value="提交"/></td> <td align="center"><input type="Reset" name="reset" value="重置"/></td> </tr> </table> </form> </body> </html>
6。success.jsp
<%@ page language="java" contentType="text/html; charset=ISO-8859-1" 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>success</title> </head> <body> <h1>success !!!!!!!!</h1> </body> </html>
7。web.xml
<?xml version="1.0" encoding="UTF-8"?> <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" id="WebApp_ID" version="3.0"> <display-name>Login</display-name> <welcome-file-list> <welcome-file>index.jsp</welcome-file> </welcome-file-list> <servlet> <servlet-name>Servlet</servlet-name> <servlet-class>loginServlet</servlet-class> </servlet> <servlet-mapping> <servlet-name>Servlet</servlet-name> <url-pattern>/servlet/loginServlet</url-pattern> </servlet-mapping> </web-app>
完整代码:http://download.csdn.net/detail/chuang504321176/9694016
相关文章推荐
- Jsp+Dao+Jdbc+Servelet 用户完整登录总结
- jsp+jdbc+Servlet实现登录系统(.servelet+filter)
- 服务器搭建:servlet+dao+javabean+jsp实现简单的用户登录(一)
- 第一个JSP+JDBC程序:用户登录程序实现
- 基于Servlet、JSP、JDBC、MySQL的一个简单的用户注冊模块(附完整源代码)
- JSP+JDBC+SQLSERVER2000用户登录验证实例
- J2EE初级学习项目——JSP+Servlet+JavaBean开发模式+Filter+(Listener)+Jdbc的用户登录注册系统
- Java_Web基础--JDBC/HTML/Servelet/Web/JSP/jQuery(你必须要懂得基础)
- 基于Servlet、JSP、JDBC、MySQL的一个简单的用户注册模块(附完整源码)
- JSp+JDBC实现用户登录程序
- 基于Servlet、JSP、JDBC、MySQL的一个简单的用户注册模块(附完整源码)
- JSP+JDBC+SQLSERVER2000用户登录验证实例
- 服务器搭建:servlet+dao+javabean+jsp实现简单的用户登录
- 服务器搭建:servlet+dao+javabean+jsp实现简单的用户登录(一)
- JSP+JDBC实现简单用户登录模块【Deprecated】
- JSP Servelet 数据源连接池的配置
- '用户 'sa' 登录失败。该用户与可信 SQL Server 连接无关联,做JSP项目连接数据库
- Java EE WEB工程师培训-JDBC+Servlet+JSP整合开发之09.JDBC DAO设计模式
- 【SQL Server 2005 的问题】com.microsoft.sqlserver.jdbc.SQLServerException: 用户 'sa' 登录失败。该用户与可信 SQL Server 连接无关联。
- 用Spring MVC实现用户登录的完整实例