职位表
主页
<%@page import="org.lq.entity.Role"%>
<%@page import="java.util.List"%>
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
<table>
<tr>
<th>编号</th>
<th>职位</th>
<th>描述</th>
<th>操作</th>
</tr>
<%
List<Role> list = (List<Role>)request.getAttribute("roleList");
if(list==null){
response.sendRedirect("RoleFindAll");
return;
}
for(Role r : list){
%>
<tr>
<td><%=r.getRid() %></td>
<td><%=r.getRname() %></td>
<td><%=r.getDesc() %></td>
<td>
<a href="javascript:deleteRole(<%=r.getRid()%>)">删除</a>
<a href="GetRole?id=<%=r.getRid()%>">修改</a>
</td>
</tr>
<%
}
%>
</table>
<script type="text/javascript">
function deleteRole(id){
var rs= confirm("确定删除?")
if(rs == true){
location = "RoelDelete?id="+id;
}
}
</script>
</body>
</html>
修改页面
<%@page import="org.lq.entity.Role"%>
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
<%
Role role = (Role)request.getAttribute("role");
%>
<form action="RoleUpdate" method="post">
<input type="hidden" name="id" value="<%=role.getRid()%>">
<table>
<tr>
<td>职位名称</td>
<td><input name="rname" value="<%=role.getRname()%>"></td>
</tr>
<tr>
<td>描述</td>
<td>
<textarea rows="4" cols="6" name="desc">
<%=role.getDesc() %>
</textarea>
</td>
</tr>
<tr>
<td><button>修改</button></td>
</tr>
</table>
</form>
</body>
</html>
servlet 查询全部
package org.lq.web;
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 org.lq.entity.Role;
import org.lq.service.RoleService;
import org.lq.service.impl.RoleServiceImpl;
/**
* Servlet implementation class RoleFindAll
*/
@WebServlet("/RoleFindAll")
public class RoleFindAll extends HttpServlet {
private static final long serialVersionUID = 1L;
private RoleService roleService = new RoleServiceImpl();
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
List<Role> roleList = roleService.findAll();
request.setAttribute("roleList", roleList);
request.getRequestDispatcher("RoleList.jsp").forward(request, response);
// request.getSession().setAttribute("", "");
// response.sendRedirect("");
}
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
doGet(request, response);
}
}
获取职位
package org.lq.web;
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 org.lq.entity.Role;
import org.lq.service.RoleService;
import org.lq.service.impl.RoleServiceImpl;
/**
* Servlet implementation class GetRole
*/
@WebServlet("/GetRole")
public class GetRole extends HttpServlet {
private static final long serialVersionUID = 1L;
private RoleService roleService =new RoleServiceImpl();
/**
* @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
*/
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
String strid= request.getParameter("id");
int id = 0;
if(strid!=null) {
id = Integer.parseInt(strid);
}
Role role= roleService.getRoleById(id);
if(role!=null) {
request.setAttribute("role", role);
request.getRequestDispatcher("RoleUpdate.jsp").forward(request, response);
}else {
response.sendRedirect("RoleFindAll");
}
}
/**
* @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
*/
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// TODO Auto-generated method stub
doGet(request, response);
}
}
删除
package org.lq.web;
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 org.lq.service.RoleService;
import org.lq.service.impl.RoleServiceImpl;
/**
* Servlet implementation class RoelDelete
*/
@WebServlet("/RoelDelete")
public class RoelDelete extends HttpServlet {
private static final long serialVersionUID = 1L;
private RoleService roleService = new RoleServiceImpl();
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
String strId= request.getParameter("id");
int id=0;
if(strId!=null) {
id = Integer.parseInt(strId);
}
int rs = roleService.delete(id);
// switch (rs) {
// case -1:
// response.setContentType("text/html;charset=utf-8");
// response.getWriter().print("<script>alert('当前角色下面还有用户,不可以删除!');location='RoleFindAll'</script>");
// break;
// case 0:
// response.getWriter().print("<script>alert('角色删除失败!')</script>");
// //response.sendRedirect("RoleFindAll");
// break;
// default:
// response.sendRedirect("RoleFindAll");
// }
response.setContentType("text/html;charset=utf-8");
if(rs==-1) {
response.getWriter().print("<script>alert('当前角色下面还有用户,不可以删除!');location='RoleFindAll'</script>");
}else {
response.sendRedirect("RoleFindAll");
}
}
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
doGet(request, response);
}
}
修改
package org.lq.web;
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 org.lq.entity.Role;
import org.lq.service.RoleService;
import org.lq.service.impl.RoleServiceImpl;
/**
* Servlet implementation class RoleUpdate
*/
@WebServlet("/RoleUpdate")
public class RoleUpdate extends HttpServlet {
private static final long serialVersionUID = 1L;
private RoleService roleService =new RoleServiceImpl();
/**
* @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
*/
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
request.setCharacterEncoding("utf-8");
String id = request.getParameter("id");
String name = request.getParameter("rname");
String desc = request.getParameter("desc");
Role role = new Role();
role.setDesc(desc);
role.setRid(Integer.parseInt(id));
role.setRname(name);
boolean bool = roleService.updateRole(role);
if(bool) {
response.sendRedirect("RoleFindAll");
}else {
response.sendRedirect("GetRole?id="+id);
}
}
/**
* @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
*/
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// TODO Auto-generated method stub
doGet(request, response);
}
}
数据访问层
package org.lq.dao.impl;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.List;
import org.lq.dao.RoleDao;
import org.lq.entity.Role;
import org.lq.util.JDBCUtil;
public class RoleDaoImpl implements RoleDao {
private PreparedStatement ps;
private ResultSet rs;
private Connection conn;
@Override
public int saveRole(Role role) throws SQLException {
int num = 0;
try {
String sql = "insert into role(rname,rdesc) values(?,?)";
conn = JDBCUtil.getConnectin();
ps = conn.prepareStatement(sql);
ps.setString(1, role.getRname());
ps.setString(2, role.getDesc());
num = ps.executeUpdate();
}finally {
JDBCUtil.closeAll(rs, ps, conn);
}
return num;
}
@Override
public int deleteRoleById(int id) throws SQLException{
int num = 0;
try {
String sql = "delete from role where rid = ?";
conn = JDBCUtil.getConnectin();
ps = conn.prepareStatement(sql);
ps.setInt(1, id);
num = ps.executeUpdate();
}finally {
JDBCUtil.closeAll(rs, ps, conn);
}
return num;
}
@Override
public int updateRoleById(Role r) throws SQLException{
int num = 0;
try {
String sql = "update role set rname = ? , rdesc = ? where rid = ?";
conn = JDBCUtil.getConnectin();
ps = conn.prepareStatement(sql);
ps.setString(1, r.getRname());
ps.setString(2, r.getDesc());
ps.setInt(3, r.getRid());
num = ps.executeUpdate();
}finally {
JDBCUtil.closeAll(rs, ps, conn);
}
return num;
}
@Override
public Role getRoleById(int id) throws SQLException{
Role r = null;
try {
conn = JDBCUtil.getConnectin();
ps = conn.prepareStatement("select * from role where rid = ?");
ps.setInt(1, id);
rs = ps.executeQuery();
while(rs.next()) {
r = new Role();
r.setDesc(rs.getString("rdesc"));
r.setRid(rs.getInt("rid"));
r.setRname(rs.getString("rname"));
}
} finally {
JDBCUtil.closeAll(rs, ps, conn);
}
return r;
}
@Override
public List<Role> findAll() throws SQLException{
List<Role> list = new ArrayList<Role>();
Role r = null;
try {
conn = JDBCUtil.getConnectin();
ps = conn.prepareStatement("select * from role");
rs = ps.executeQuery();
while(rs.next()) {
r = new Role();
r.setDesc(rs.getString("rdesc"));
r.setRid(rs.getInt("rid"));
r.setRname(rs.getString("rname"));
list.add(r);
}
} finally {
JDBCUtil.closeAll(rs, ps, conn);
}
return list;
}
@Override
public int getUserCountByRid(int rid) {
String sql = "select count(1) from users where rid = ?";
int count = 0;
try {
conn = JDBCUtil.getConnectin();
ps = conn.prepareStatement(sql);
ps.setInt(1, rid);
rs = ps.executeQuery();
if(rs.next()) {
count = rs.getInt(1);
}
} catch (SQLException e) {
e.printStackTrace();
}finally {
JDBCUtil.closeAll(rs, ps, conn);
}
return count;
}
}
业务层
package org.lq.service.impl;
import java.sql.SQLException;
import java.util.List;
import org.lq.dao.RoleDao;
import org.lq.dao.impl.RoleDaoImpl;
import org.lq.entity.Role;
import org.lq.service.RoleService;
public class RoleServiceImpl implements RoleService {
private RoleDao roleDao = new RoleDaoImpl();
@Override
public boolean saveRole(Role r) {
try {
return roleDao.saveRole(r)>0;
} catch (SQLException e) {
e.printStackTrace();
}
return false;
}
@Override
public List<Role> findAll() {
try {
return roleDao.findAll();
} catch (SQLException e) {
e.printStackTrace();
}
return null;
}
@Override
public int delete(int id) {
int num=0;
int count = roleDao.getUserCountByRid(id);
if(count>0) {
return -1;
}
try {
num = roleDao.deleteRoleById(id);
} catch (SQLException e) {
e.printStackTrace();
}
return num;
}
@Override
public Role getRoleById(int id) {
try {
return roleDao.getRoleById(id);
} catch (SQLException e) {
e.printStackTrace();
}
return null;
}
@Override
public boolean updateRole(Role role) {
try {
return roleDao.updateRoleById(role)>0;
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return false;
}
}