採用JSP+Servlet+JavaBean+JDBC方式開發一個Web登錄程序

  1. 目錄

     

    DBConn.java

    login.jsp

    main.jsp

    error.jsp

    LoginServlet.java

    web.xml

    Login.java

    LoginDao.java


  2. DBConn.java

    package org.db;
    import java.sql.*;
    public class DBConn {
    	public static Connection conn;//創建Connection連接對象conn
    	//已獲取數據庫連接
    	public static Connection getConn(){
    		try{
    			Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");//Class.forName方法加載註冊SQL Server 2014的JDBC驅動
    			conn=DriverManager.getConnection("jdbc:sqlserver://localhost:1433;databaseName=MBOOK","sa","5678");//編寫連接字符串conn,創建獲取連接
    			return conn;
    		}catch(Exception e){
    			e.printStackTrace();
    			return null;
    		}
    	}
    	public static void CloseConn(){
    		try{
    			conn.close();//自帶函數關閉連接
    		}catch(Exception e){
    			e.printStackTrace();
    		}
    	}
    }
    

     

  3. login.jsp

    <%@page lanuage="java" pageEncoding="gb2312"%>
    <html>
    <head>
    <title>圖書管理系統</title></head>
    <body bgcolor="#71CABC">
    <form action="longinServlet" method="post">
    	<table>
    		<caption>用戶登錄</caption>
    		<tr>
    			<td>登錄名</td>
    			<td><input name="name" type="text" size="22"/></td>
    		</tr>
    		<tr>
    			<td>密碼</td>
    			<td><input name="password" type="password" size="22"/></td>		
    		</tr></table>
    	<input type="submit" value="登錄"/>
    	<input type="reset" value="重置"/>
    </form></body></html>

     

  4. main.jsp

    <%@ page language="java" pageEncoding="gb2312" import="org.model.Login" %>
    <html>
    <head>
    	<title>歡迎使用</title>
    </head>
    <body>
    	<%
    		Login login=(Login)session.getAttribute("login");	//從會話中取出 Login 對象
    		String lgn=login.getName();							//通過 JavaBean 對象獲取用戶名
    	%>
    	<%=lgn%>,您好!歡迎使用圖書管理系統。
    </body>
    </html>

     

  5. error.jsp

    <%@ page language="java" pageEncoding="gb2312"%>
    <html>
    <head>
    	<title>出錯</title>
    </head>
    <body>
    	登錄失敗!單擊<a href="login.jsp">這裏</a>返回
    </body>
    </html>
    

     

  6. LoginServlet.java

    /**
     * 
     */
    /**
     * @author 123
     *
     */
    package org.servlet;
    import java.io.*;
    import javax.servlet.*;
    import javax.servlet.http.*;
    import org.model.*;
    import org.dao.*;
    public class LoginServlet extends HttpServlet{
    	public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException{
    		request.setCharacterEncoding("gb2312");
    		LoginDao loginDao = new LoginDao();
    		Login l= loginDao.checkLogin(request.getParameter("name"),request.getParameter("password"));
    		if(l!=null){
    			HttpSession session=request.getSession();
    			session.setAttribute("login", 1);
    			response.sendRedirect("main.jsp");
    		}else{
    			response.sendRedirect("error.jsp");
    		}
    	}
    	public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException{
    		doGet(request,response);
    	}
    }

     

  7. web.xml

    <?xml version="1.0" encoding="UTF-8"?>
    <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://xmlns.jcp.org/xml/ns/javaee" xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd" id="WebApp_ID" version="3.1">
      <servlet>
      	<servlet-name>loginServlet</servlet-name>
      	<servlet-class>org.servlet.LoginServlet</servlet-class>
      </servlet>
      <servlet-mapping>
      	<servlet-name>loginServlet</servlet-name>
      	<url-pattern>/loginServlet</url-pattern>
      </servlet-mapping>
    </web-app>

     

  8. Login.java

    /**
     * 
     */
    /**
     * @author 123
     *
     */
    package org.model;
    public class Login{
    	private Integer id;
    	private String name;
    	private String password;
    	private boolean role;
    	public Integer getId(){
    		return this.id;
    	}
    	public void setId(Integer id){
    		this.id=id;
    	}
    	public String getName(){
    		return this.name;
    	}
    	public void setName(String name){
    		this.name=name;
    	}
    	public String getPassword(){
    		return this.password;
    	}
    	public void setPassword(String password){
    		this.password=password;
    	}
    	public boolean getRole(){
    		return this.role;
    	}
    	public void setRole(boolean role){
    		this.role=role;
    	}
    }

     

  9. LoginDao.java

    package org.dao;
    import java.sql.*;
    import org.model.*;
    import org.db.*;
    public class LoginDao{
    	Connection conn;
    	public Login checkLogin(String name, String password){
    		try{
    			conn=DBConn.getConn();
    			PreparedStatement pstmt = conn.prepareStatement("select * from [login] where name=?"+"and password=?");
    			pstmt.setString(1, name);
    			pstmt.setString(2, password);
    			ResultSet rs=pstmt.executeQuery();
    			if(rs.next()){
    				Login login=new Login();
    				login.setId(rs.getInt(1));
    				login.setName(rs.getString(2));//怎麼分清這兩個方法呢?
    				login.setPassword(rs.getString(3));
    				login.setRole(rs.getBoolean(4));
    				return login;
    			}
    			return null;
    		}catch(Exception e){
    			e.printStackTrace();
    			return null;
    		}finally{
    			DBConn.CloseConn();
    		}
    	}
    }

     

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章