3 Util层 (该层是工具类,连接数据库在本层实现,以及判断是否为空)
3.1 DbUtil类 连接数据库的类
package com.java.util;
import java.sql.Connection;
import java.sql.DriverManager;
public class DbUtil {
private String dbUrl="jdbc:mysql://localhost:3306/db_studenfinfo";
private String dbUserName="root";
private String dbPassword="123456";
private String jdbcName="com.mysql.jdbc.Driver";
/**
* 获取数据库连接
* @return
* @throws Exception
*/
public Connection getCon() throws Exception{
Class.forName(jdbcName);
Connection con=DriverManager.getConnection(dbUrl,dbUserName,dbPassword);
return con;
}
/**
* 关闭数据库连接
* @param con
* @throws Exception
*/
public void closeCon(Connection con) throws Exception{
if(con!=null){
con.close();
}
}
public static void main(String[] args) {
DbUtil dbUtil=new DbUtil();
try {
dbUtil.getCon();
System.out.println("数据库连接成功");
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
3.2 判断用户名是否为空的类 StringUtil类
package com.java.util;
public class Stringutil {
public static boolean isEmpty(String str){
if("".equals(str)|| str==null){
return true;
}else{
return false;
}
}
public static boolean isNotEmpty(String str){
if(!"".equals(str)&&str!=null){
return true;
}else{
return false;
}
}
}
备注: 其中链接数据库必须要有jar包mysql-connector-java-5.1.38-bin.jar
4.contonl层
4.1 LoginServlet类
package com.java.web;
import java.io.IOException;
import java.sql.Connection;
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.java.dao.UserDao;
import com.java.model.User;
import com.java.util.DbUtil;
import com.java.util.Stringutil;
public class LoginServlet extends HttpServlet{
DbUtil dbutil=new DbUtil();
UserDao userdao=new UserDao();
@Override
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// TODO Auto-generated method stub
this.doPost(request, response);
}
@Override
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// TODO Auto-generated method stub
request.setCharacterEncoding("utf-8");
String userName=request.getParameter("userName");
String password=request.getParameter("password");
System.out.println(userName);
request.setAttribute("userName", userName);
request.setAttribute("password", password);
if(Stringutil.isEmpty(userName)||Stringutil.isEmpty(password))
{
request.setAttribute("error", "用户名或者密码为空");
request.getRequestDispatcher("index.jsp").forward(request, response);
}
User user=new User(userName,password);
Connection con=null;
try {
con= dbutil.getCon();
User currentuser=userdao.login(con, user);
if(currentuser==null)
{
request.setAttribute("error", "用户名或者密码错误");
request.getRequestDispatcher("index.jsp").forward(request, response); //服务器跳转带东西跳转
}
else
{
//获取用户消息
HttpSession session=request.getSession();
session.setAttribute("currentuser", currentuser);
response.sendRedirect("main.jsp");
}
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
finally
{
try {
dbutil.closeCon(con);
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
}
未完待续 (下讲)