采用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"%>
    
    
    图书管理系统
    
    
    用户登录
    登录名
    密码

     

  4. main.jsp

    <%@ page language="java" pageEncoding="gb2312" import="org.model.Login" %>
    
    
    	欢迎使用
    
    
    	<%
    		Login login=(Login)session.getAttribute("login");	//从会话中取出 Login 对象
    		String lgn=login.getName();							//通过 JavaBean 对象获取用户名
    	%>
    	<%=lgn%>,您好!欢迎使用图书管理系统。
    
    

     

  5. error.jsp

    <%@ page language="java" pageEncoding="gb2312"%>
    
    
    	出错
    
    
    	登录失败!单击这里返回
    
    
    

     

  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

    
    
      
      	loginServlet
      	org.servlet.LoginServlet
      
      
      	loginServlet
      	/loginServlet
      
    

     

  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();
    		}
    	}
    }

     

你可能感兴趣的:(Java,EE)