建立连接池;
package com.java12.web.demo.login;
import java.io.IOException;
import java.sql.Connection;
import java.sql.SQLException;
import java.util.Properties;
import com.alibaba.druid.pool.DruidDataSource;
import com.alibaba.druid.pool.DruidDataSourceFactory;
public class DruidUtil {
static DruidDataSource dataSource;
static{
Properties properties = new Properties();
try {
properties.load(DruidUtil.class.getClassLoader().getResourceAsStream("alibaba.properties"));
dataSource = (DruidDataSource)DruidDataSourceFactory.createDataSource(properties);
} catch (IOException e) {
e.printStackTrace();
}catch (Exception e) {
e.printStackTrace();
}
}
public static Connection getConnection(){
try {
return dataSource.getConnection();
} catch (SQLException e) {
e.printStackTrace();
}
return null;
}
public static void colse(){
dataSource.close();
}
}
根据email和password检查用户信息:
package sql;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import com.java12.web.demo.login.DruidUtil;
public class LoginSql {
Connection connection;
//根据email和password 检查用户信息
public boolean checkLogin(String...strings){
connection = DruidUtil.getConnection();
String sql ="select * from user where email=? and password = ?";
try {
PreparedStatement prepareStatement = connection.prepareStatement(sql);
prepareStatement.setString(1, strings[0]);
prepareStatement.setString(2, strings[1]);
ResultSet resultSet = prepareStatement.executeQuery();
while(resultSet.next()){
return true;
}
} catch (SQLException e) {
e.printStackTrace();
}
return false;
}
public String getUserNameByEmail(String email){
connection = DruidUtil.getConnection();
String sql ="select username from user where email = ?";
try {
PreparedStatement prepareStatement = connection.prepareStatement(sql);
prepareStatement.setString(1, email);
ResultSet resultSet = prepareStatement.executeQuery();
while(resultSet.next()){
return resultSet.getString(1);
}
} catch (SQLException e) {
e.printStackTrace();
}
return "";
}
}
登录信息:
package com.java12.web.demo.login;
import java.io.IOException;
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 javax.servlet.http.HttpSession;
import sql.LoginSql;
@WebServlet("/login")
public class LoginServlet extends HttpServlet {
private static final long serialVersionUID = 1L;
public LoginServlet() {
super();
}
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
String email = request.getParameter("email");
String password = request.getParameter("password");
LoginSql sql = new LoginSql();
boolean login = sql.checkLogin(email,password);
if(login){
String username = sql.getUserNameByEmail(email);
HttpSession session = request.getSession();
session.setAttribute("username", username);
//登陆成功,重定向到欢迎页面
response.setStatus(302);
response.setHeader("location",request.getContextPath()+ "/welocme");
}
}
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
doGet(request, response);
}
}
欢迎界面:
package com.java12.web.demo.servlet;
import java.io.IOException;
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 javax.servlet.http.HttpSession;
@WebServlet("/welocme")
public class Welcome extends HttpServlet {
private static final long serialVersionUID = 1L;
public Welcome() {
super();
}
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
HttpSession session = request.getSession();
Object attribute = session.getAttribute("username");
response.getWriter().println("welocme"+attribute);
}
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
doGet(request, response);
}
}