首先用一个JavaBean封装数据库操作,即mvc中的模型
JdbcBean.java
package data;import java.sql.*;public class JdbcBean { private String DBDriver="com.mysql.jdbc.Driver"; private String DBUrl="jdbc:mysql://localhost:3306/test"; private String DBUser="root"; private String DBPassword="686175"; public Connection conn=null; public ResultSet rs=null; public ResultSet query(String sql)throws Exception{ try{ Class.forName(DBDriver); conn=DriverManager.getConnection(DBUrl,DBUser,DBPassword); Statement stmt=conn.createStatement(); rs=stmt.executeQuery(sql); return rs; } catch(SQLException e){ System.out.println(e.getMessage()); } return null; } public void update(String sql)throws Exception{ try{ Class.forName(DBDriver); conn=DriverManager.getConnection(DBUrl,DBUser,DBPassword); Statement stmt=conn.createStatement(); stmt.executeUpdate(sql); stmt.close(); conn.close(); } catch(SQLException e){ System.out.println(e.getMessage()); } }}在src的data包中另一个控制器Servlet,用于处理连接数据库的操作,此次project用的数据库是MySQL
LoginServlet.java
package data;import java.io.IOException;import java.sql.ResultSet;import javax.servlet.RequestDispatcher;import javax.servlet.ServletException;import javax.servlet.http.HttpServlet;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;public class LoginServlet extends HttpServlet { public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { String toJSP=""; request.setCharacterEncoding("gbk"); response.setContentType("text/html;charset=gbk"); String username=request.getParameter("username"); String password=request.getParameter("password"); String sql="select * from user where username='"+username+"'" + "&&password='"+password+"'"; JdbcBean jdbc=new JdbcBean(); try{ ResultSet rs=jdbc.query(sql); if(rs.next()){ toJSP="success.jsp"; } else{ toJSP="error.jsp"; } rs.close(); } catch(Exception e){ System.out.println("发生查询异常"); } RequestDispatcher rd=request.getRequestDispatcher(toJSP); rd.forward(request, response); } public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { doPost(request,response); }}接下来就是用jsp写的视图,显示页面操作
登录页面login.jsp
<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>登录成功页面success.jspMy JSP 'login.jsp' starting page
<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>假设登录的username和password和存放在数据库的数据对不上,就显示登录错误页面error.jspMy JSP 'success.jsp' starting page <% out.println("登录成功!"); %>
<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>输入usernameming,passwordmingMy JSP 'error.jsp' starting page <% out.println("username或password错误,登录失败!"); %>
输入usernamelin,passwordli
完整代码包:http://download.csdn.net/detail/u011731233/8093745