register.jsp
pageEncoding="UTF-8"%>
register${errormsg }
username:
password:
succ.jsp
pageEncoding="UTF-8"%>
Insert title here您还没有登陆
欢迎${user.username}
DBUtil,class
package com.hpe.util;
import java.io.FileReader;
import java.io.IOException;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.Properties;
public class DBUtil {
private static String drivatename = null;
private static String url = null;
private static String username = null;
private static String password = null;
static {
try {
//读取配置文件,加载JDBC四大参数
Properties config = new Properties();
config.load(new FileReader(DBUtil.class.getClassLoader().getResource("JDBC.conf").getPath()));
drivatename = config.getProperty("drivername");
url = config.getProperty("url");
username = config.getProperty("username");
password = config.getProperty("password");
//System.out.println(drivatename);
//加载驱动类
Class.forName(drivatename);
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (ClassNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
//建立连接
public static Connection getConn() {
Connection conn = null;
try {
conn = DriverManager.getConnection(url, username, password);
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return conn;
}
//关闭连接
public static void closeConn(Connection conn) {
try {
conn.close();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
//关闭preparedStatement
public static void closePstmt(PreparedStatement pstmt) {
try {
pstmt.close();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
//关闭结果集ResultSet
public static void closeRst(ResultSet rst) {
try {
rst.close();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
JDBC.config
drivername=com.mysql.jdbc.Driver
url=jdbc:mysql://localhost:3306/mydbjdbc
username=(用户)
password=(密码)
userServlet.java
package com.hpe.servlet;
import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
import com.hpe.po.User;
import com.hpe.service.UserService;
public class UserServlet extends HttpServlet {
private static final long serialVersionUID = 1L;
private UserService service = new UserService();
//登陆
protected void login(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
//获取用户名和密码
String username = request.getParameter("username");
String password = request.getParameter("password");
//调用UserService中的方法进行验证
User user = service.login(username, password);
if(user != null) { //登陆成功
//将用户信息保存在域对象中
HttpSession session = request.getSession();
session.setAttribute("user", user);
//转发到成功页
request.getRequestDispatcher("/succ.jsp").forward(request, response);
} else { // 登陆失败
//将错误信息、用户名放入域当中
String errormsg = "用户名或密码错误";
request.setAttribute("errormsg", errormsg);
request.setAttribute("username", username);
//转发到登陆页
request.getRequestDispatcher("/login.jsp").forward(request, response);
}
}
//注册
protected void register(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
String username = request.getParameter("username");
String password = request.getParameter("password");
User user = new User(username, password);
//注册
int result = service.register(user);
if(result == 1) {//成功
//将用户信息保存在域对象中
HttpSession session = request.getSession();
session.setAttribute("user", user);
//转发到成功页
request.getRequestDispatcher("/succ.jsp").forward(request, response);
} else { //失败
String errormsg = null;
errormsg = "注册失败";
if(result == -1) {//
errormsg = "该用户已经存在";
}
request.setAttribute("errormsg", errormsg);
//失败转发到注册页
request.getRequestDispatcher("/register.jsp").forward(request, response);
}
}
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
//获取method参数,根据参数选择调用的方法
String method = request.getParameter("method");
if(method.equals("login")) {//登陆
login(request, response);
} else if(method.equals("register")) {//注册
register(request, response);
}
}
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
doGet(request, response);
}
}
UserService.class