登录界面:
<%@ page language="java" contentType="text/html; charset=utf-8"
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>登录</title>
<link rel="stylesheet" type="text/css" href="css/login.css">
<script type="text/javascript" src="js/jquery-2.1.1.min.js"></script>
</head>
<body>
<div class = "loginbox">
<a class = "logo">登录</a><br><br>
<form action="LoginServlet" method="post">
<div class = "zhanghao">
账号:<input type="text" id="zhan" name="username" /><br><br>
密码:<input type="password" id="mima" name="password" >
</div>
<font color="red">
<%
if(request.getAttribute("message")!= null){
out.print(request.getAttribute("message"));
}
%>
</font>
<br>
<input type="checkbox" id="check" >记住密码
<input type="checkbox" id="check" >自动登录
<div class = "denglu">
<input type="submit" name="submit" value ="登录" id="deng"/>
<input type="button" value = "重置" id="kong"><br><br>
没有账号?<a href="zhuce.jsp">去注册!</a>
</div>
</form>
</div>
<script type="text/javascript">
$(document).ready(function(){
$("#kong").click(function(){
$("#zhan").val("");
$("#mima").val("");
});
});
</script>
</body>
</html>
注册界面:
<%@ page language="java" contentType="text/html; charset=utf-8"
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>注册</title>
<link rel="stylesheet" type="text/css" href="css/zhuce.css">
<script type="text/javascript" src="js/jquery-2.1.1.min.js"></script>
</head>
<body>
<div class = "loginbox">
<a class = "logo">注册</a><br><br>
<form action="RegisterServlet" method="post">
<div class = "zhanghao">
账号:<input type="text" id = "zhan" name="username" /><br><br>
密码:<input type="password" id = "mima" name="password" />
</div>
<font color="red">
<%
if(request.getAttribute("message")!= null){
out.print(request.getAttribute("message"));
}
%>
</font>
<br>
<input type="checkbox" id="check" >记住账号
<div class = "denglu">
<input type="submit" name="submit" value ="注册"/>
<input type="button" value = "重置" id = "kong"><br><br>
已有账号?<a href="login.jsp">去登录</a>
</div>
</form>
</div>
<script type="text/javascript">
$(document).ready(function(){
$("#kong").click(function(){
$("#zhan").val("");
$("#mima").val("");
$("#bumen").val("");
});
});
</script>
</body>
</html>
loginservlet:
package com.smxy.zjq.dao;
import java.io.IOException;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import com.smxy.zjq.db.DbPool;
/**
* Servlet implementation class LoginServlet
*/
//@WebServlet("/LoginServlet")
public class LoginServlet extends HttpServlet {
private static final long serialVersionUID = 1L;
static Connection conn = DbPool.getConnectionFromPool();
static PreparedStatement pstmt = null;
private static ResultSet rs = null;
/**
* @see HttpServlet#HttpServlet()
*/
public LoginServlet() {
super();
// TODO Auto-generated constructor stub
}
/**
* @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
*/
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// TODO Auto-generated method stub
}
/**
* @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
*/
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
String userName = request.getParameter("username");
String password = request.getParameter("password");
System.out.println("账号:"+userName+"密码:"+password);
//System.err.println(userName+";"+password);
int i;
try {
i = search(userName,password);
if(i == 1) {
request.getRequestDispatcher(
"/index.jsp").forward(request, response);
}else if( i == -1){
request.setAttribute("message", "账密错误,请重新登录");
request.getRequestDispatcher("/Login.jsp").forward(request, response);
}else if(i == 0){
request.setAttribute("message", "账号不存在!");
request.getRequestDispatcher("/Login.jsp").forward(request, response);
}
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
public int search(String name,String pass) throws SQLException//此方法用于判断密码是否正确,用户名是否存在
{
String sql="select * from user where username = '"+name+"'";
pstmt= (PreparedStatement)conn.prepareStatement(sql);
rs=pstmt.executeQuery();
if(rs==null)
{
return 0;
}
if(rs.next()) {
String pas=rs.getString("password");
if(pas.equals(pass)) {
return 1;
}
else
{
return -1;
}
}
return 0;
}
}
registerservlet:
package com.smxy.zjq.dao;
import java.io.IOException;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Timestamp;
import java.util.Calendar;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import com.smxy.zjq.Class.User;
import com.smxy.zjq.db.DbPool;
/**
* Servlet implementation class RegisterServlet
*/
//@WebServlet("/RegisterServlet")
public class RegisterServlet extends HttpServlet {
private static final long serialVersionUID = 1L;
static Connection conn = DbPool.getConnectionFromPool();
static PreparedStatement pstmt = null;
private static ResultSet rs = null;
/**
* @see HttpServlet#HttpServlet()
*/
public RegisterServlet() {
super();
// TODO Auto-generated constructor stub
}
/**
* @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
*/
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// TODO Auto-generated method stub
}
/**
* @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
*/
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// TODO Auto-generated method stub
String userName = request.getParameter("username");
String password = request.getParameter("password");
System.out.println("账号:"+userName+"密码:"+password);
User user = new User(userName,password);
if(savedata(user)){
request.getRequestDispatcher(
"/index.jsp").forward(request, response);
}else{
request.setAttribute("message", "注册失败!");
request.getRequestDispatcher("/Register.jsp").forward(request, response);
}
}
public static boolean savedata(User user) {
String insertsql = "insert into user(username,password) values(?,?)";// 预处理的语句对象
try {
int i = 1;
pstmt = conn.prepareStatement(insertsql);
pstmt.setString(i++, user.getUsername());
pstmt.setString(i++, user.getPassword());
int val = pstmt.executeUpdate();
if (val > 0) {
return true;
} else {
return false;
}
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return false;
}
}
dbpool:
package com.smxy.zjq.db;
import java.sql.Connection;
import java.sql.SQLException;
import javax.sql.DataSource;
import com.mchange.v2.c3p0.ComboPooledDataSource;
public class DbPool {
static DataSource dataSource;
static {
//如果没有参数,默认加载c3p0参数文件:文件名称、位置是固定的
dataSource=new ComboPooledDataSource();
}
public static Connection getConnectionFromPool(){
try {
Connection connection=dataSource.getConnection();
return connection;
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return null;
}
}