##实体类
#1.User.java
package com.neu.entity;
public class User {
private Integer id;
private String username;
private String password;
@Override
public String toString() {
return "User [id=" + id + ", username=" + username + ", password=" + password + "]";
}
@Override
public int hashCode() {
final int prime = 31;
int result = 1;
result = prime * result + ((id == null) ? 0 : id.hashCode());
result = prime * result + ((password == null) ? 0 : password.hashCode());
result = prime * result + ((username == null) ? 0 : username.hashCode());
return result;
}
@Override
public boolean equals(Object obj) {
if (this == obj)
return true;
if (obj == null)
return false;
if (getClass() != obj.getClass())
return false;
User other = (User) obj;
if (id == null) {
if (other.id != null)
return false;
} else if (!id.equals(other.id))
return false;
if (password == null) {
if (other.password != null)
return false;
} else if (!password.equals(other.password))
return false;
if (username == null) {
if (other.username != null)
return false;
} else if (!username.equals(other.username))
return false;
return true;
}
public Integer getId() {
return id;
}
public void setId(Integer id) {
this.id = id;
}
public String getUsername() {
return username;
}
public void setUsername(String username) {
this.username = username;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
public User(Integer id, String username, String password) {
super();
this.id = id;
this.username = username;
this.password = password;
}
public User() {
super();
// TODO 自动生成的构造函数存根
}
}
#2.Dept.java
package com.neu.entity;
public class Dept {
private Integer deptno;
private String dname;
private String loc;
public Dept() {
super();
// TODO 自动生成的构造函数存根
}
public Dept(Integer deptno, String dname, String loc) {
super();
this.deptno = deptno;
this.dname = dname;
this.loc = loc;
}
public Integer getDeptno() {
return deptno;
}
public void setDeptno(Integer deptno) {
this.deptno = deptno;
}
public String getDname() {
return dname;
}
public void setDname(String dname) {
this.dname = dname;
}
public String getLoc() {
return loc;
}
public void setLoc(String loc) {
this.loc = loc;
}
@Override
public int hashCode() {
final int prime = 31;
int result = 1;
result = prime * result + ((deptno == null) ? 0 : deptno.hashCode());
result = prime * result + ((dname == null) ? 0 : dname.hashCode());
result = prime * result + ((loc == null) ? 0 : loc.hashCode());
return result;
}
@Override
public boolean equals(Object obj) {
if (this == obj)
return true;
if (obj == null)
return false;
if (getClass() != obj.getClass())
return false;
Dept other = (Dept) obj;
if (deptno == null) {
if (other.deptno != null)
return false;
} else if (!deptno.equals(other.deptno))
return false;
if (dname == null) {
if (other.dname != null)
return false;
} else if (!dname.equals(other.dname))
return false;
if (loc == null) {
if (other.loc != null)
return false;
} else if (!loc.equals(other.loc))
return false;
return true;
}
@Override
public String toString() {
return "Dept [deptno=" + deptno + ", dname=" + dname + ", loc=" + loc + "]";
}
}
##数据操作层
#1.1
UserDao.java接口
package com.neu.dao;
import com.neu.entity.User;
public interface UserDao {
User getAll(String username,String password) throws Exception;
}
#1.2
UserDaoImpl.java
package com.neu.dao;
import java.sql.Connection;
import java.sql.ResultSet;
import java.util.List;
import com.neu.entity.Dept;
import com.neu.entity.User;
public class UserDaoImpl implements UserDao {
@Override
public User getAll(String username, String password) throws Exception {
Connection connection = JDBCUtil.getConnection();
String sql="select * from myuser where username=? and password=?";
ResultSet rs = JDBCUtil.executeQuery(connection, sql, new Object[] {username,password});
User user=null;
if(rs.next()) {
int id=rs.getInt("id");
user=new User(id, username, password);
}
JDBCUtil.closeConnection(connection);
return user;
}
}
#2.1
DeptDao.java接口
package com.neu.dao;
import java.util.List;
import com.neu.entity.Dept;
public interface DeptDao {
List<Dept> getAll() throws Exception;
int getInsert(Dept dept) throws Exception;
}
#2.2
DeptDaoImpl.java
package com.neu.dao;
import java.sql.Connection;
import java.sql.ResultSet;
import java.util.ArrayList;
import java.util.List;
import com.neu.entity.Dept;
public class DeptDaoImpl implements DeptDao {
@Override
public List<Dept> getAll() throws Exception {
Connection connection = JDBCUtil.getConnection();
String sql="select * from dept";
ResultSet rs = JDBCUtil.executeQuery(connection, sql, null);
List<Dept> list = new ArrayList<>();
Dept dept = null;
int deptno;
String dname;
String loc;
while(rs.next()) {
deptno=rs.getInt("deptno");
dname=rs.getString("dname");
loc=rs.getString("loc");
dept = new Dept(deptno, dname, loc);
list.add(dept);
}
JDBCUtil.closeConnection(connection);
return list;
}
@Override
public int getInsert(Dept dept) throws Exception {
String sql = "insert into dept values (?,?,?)";
int n = JDBCUtil.executeUpdate(sql, new Object[] {dept.getDeptno(),dept.getDname(),dept.getLoc()});
return n;
}
}
##业务逻辑层
#1.1
UserService.java接口
package com.neu.service;
import com.neu.entity.User;
public interface UserService {
User getAll(String username,String password) throws Exception;
}
#1.2
UserServiceImpl.java
package com.neu.service;
import com.neu.dao.UserDao;
import com.neu.dao.UserDaoImpl;
import com.neu.entity.User;
public class UserServiceImpl implements UserService {
private UserDao userDao= new UserDaoImpl();
@Override
public User getAll(String username, String password) throws Exception {
return userDao.getAll(username, password);
}
}
#2.1
DeptService.java接口
package com.neu.service;
import java.util.List;
import com.neu.entity.Dept;
public interface DeptService {
List<Dept> getAll() throws Exception;
int getInsert(Dept dept) throws Exception;
}
#2.2
DeptServiceImpl.java
package com.neu.service;
import java.util.List;
import com.neu.dao.DeptDao;
import com.neu.dao.DeptDaoImpl;
import com.neu.entity.Dept;
public class DeptServiceImpl implements DeptService {
private DeptDao deptDao = new DeptDaoImpl();
@Override
public List<Dept> getAll() throws Exception {
// TODO 自动生成的方法存根
return deptDao.getAll();
}
@Override
public int getInsert(Dept dept) throws Exception {
// TODO 自动生成的方法存根
return deptDao.getInsert(dept);
}
}
##表示层
#1.1
loginServlet.java 登录
package com.neu.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;
import com.neu.entity.User;
import com.neu.service.UserService;
import com.neu.service.UserServiceImpl;
/**
* Servlet implementation class loginServlet
*/
@WebServlet("/login")
public class loginServlet extends HttpServlet {
private static final long serialVersionUID = 1L;
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
request.setCharacterEncoding("utf-8");
String username = request.getParameter("username");
String password = request.getParameter("password");
UserService userService = new UserServiceImpl();
User user = null;
try {
user = userService.getAll(username, password);
} catch (Exception e) {
e.printStackTrace();
}
if(user!=null) {
HttpSession session = request.getSession();
session.setAttribute("username", username);
request.getRequestDispatcher("/insert.jsp").forward(request, response);
}else {
response.sendRedirect(request.getContextPath()+"/login.jsp?error=err");
}
}
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// TODO Auto-generated method stub
doGet(request, response);
}
}
#1.2
insertServlet 添加
package com.neu.servlet;
import java.io.IOException;
import java.util.List;
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.neu.entity.Dept;
import com.neu.service.DeptService;
import com.neu.service.DeptServiceImpl;
/**
* Servlet implementation class insertServlet
*/
@WebServlet("/insert")
public class insertServlet extends HttpServlet {
private static final long serialVersionUID = 1L;
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
request.setCharacterEncoding("utf-8");
int deptno = Integer.parseInt(request.getParameter("deptno"));
String dname = request.getParameter("dname");
String loc = request.getParameter("loc");
Dept dept = new Dept(deptno, dname, loc);
DeptService deptService = new DeptServiceImpl();
int n = 0;
try {
n = deptService.getInester(dept);
} catch (Exception e) {
e.printStackTrace();
}
if(n!=0) {
List<Dept> list = null;
try {
list = deptService.getAll();
} catch (Exception e) {
e.printStackTrace();
}
request.setAttribute("list", list);
request.getRequestDispatcher("/show.jsp").forward(request, response);
}else {
response.sendRedirect(request.getContextPath()+"/insert.jsp?sor=true");
}
}
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// TODO Auto-generated method stub
doGet(request, response);
}
}
#1.3
login.jsp 登录页
<%@ 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>Insert title here</title>
</head>
<body>
<%
Object o = request.getParameter("error");
if(o!=null){
%>
<p style="color: red">登录失败!</p>
<%
}
%>
<form action="/javawebdemo2/login" method="post">
<table>
<tr>
<td>用户名:</td><td><input type="text" name="username" size="12"></td>
</tr>
<tr>
<td>密码:</td><td><input type="password" name="password" size="13"></td>
</tr>
<tr>
<td colspan="2"><input type="submit" value="登录" > <input type="reset" value="重填" ></td>
</tr>
</table>
</form>
</body>
</html>
#1.4
insert.jsp 添加页
<%@ 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>Insert title here</title>
</head>
<body>
<p>
<%
Object o = session.getAttribute("username");
if(o!=null){
String username = request.getParameter("username");
%>
<%=session.getAttribute("username") %>,您好!
<%
}
%>
</p>
<%
Object z = request.getParameter("sor");
if(z!=null){
%>
<p style="color: red">添加失败!</p>
<%
}
%>
<form action="/javawebdemo2/insert" method="post">
<table>
<tr>
<td>部门编号:<input type="text" name="deptno" size="4"></td>
<td>部门名称:<input type="text" name="dname" size="4"></td>
<td>部门地址:<input type="text" name="loc" size="4"></td>
</tr>
<tr>
<td colspan="3"><input type="submit" value="添加"></td>
</tr>
</table>
</form>
</body>
</html>
#1.5
show.jsp 显示页
<%@page import="com.neu.entity.Dept"%>
<%@page import="java.util.List"%>
<%@ 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>Insert title here</title>
</head>
<body>
<p>添加成功!</p>
<table border="1" width="300">
<%
List<Dept> list= (List<Dept>)request.getAttribute("list");
for(Dept d:list){
%>
<tr>
<td><%=d.getDeptno() %></td>
<td><%=d.getDname() %></td>
<td><%=d.getLoc() %></td>
</tr>
<%
}
%>
</table>
</body>
</html>