1.建立数据库连接和通过DAO实现功能(此处可参照实验五)
DatabaseConnection
package dao.dbc;
import java.sql.Connection;
public interface DatabaseConnection {
public Connection getConnection();
public void close() throws Exception;
}
mysqldatabaseConnection
package dao.dbc;
import java.sql.Connection;
import java.sql.DriverManager;
public class MysqlDatabaseConnection implements dao.dbc.DatabaseConnection {
private static final String DBDRIVER = "com.mysql.cj.jdbc.Driver";
private static final String DBURL = "jdbc:mysql://localhost:3306/mldn";
private static final String DBUSER = "root";
private static final String DBPASS = "2963779hxb";
private Connection conn = null;
public MysqlDatabaseConnection() throws Exception {
try {
Class.forName(DBDRIVER);
this.conn = DriverManager.getConnection(DBURL, DBUSER, DBPASS);
} catch (Exception e) {
throw e;
}
}
public Connection getConnection() {
return this.conn;
}
public void close() throws Exception {
if (this.conn != null) {
try {
this.conn.close();
} catch (Exception e) {
throw e;
}
}
}
}
emp
package dao.vo;
import java.util.Date;
public class Emp {
private String empno;
private String ename;
private String job;
private String hierdate;
private float comm;
private String photo;
public String getEmpno() {
return empno;
}
public void setEmpno(String empno) {
this.empno = empno;
}
public String getEname() {
return ename;
}
public void setEname(String ename) {
this.ename = ename;
}
public String getJob() {
return job;
}
public void setJob(String job) {
this.job = job;
}
public String getHiredate(){return hierdate;}
public void setHierdate(String hierdate) {
this.hierdate = hierdate;
}
public float getComm() {
return comm;
}
public void setComm(float comm) {
this.comm = comm;
}
public String getPhoto(){return photo;}
public void setPhoto(String photo){
this.photo = photo;
}//照片
}
IEmpdao
package dao;
import java.util.List;
import dao.vo.Emp;
public interface IEmpDAO {
public boolean doCreate(Emp emp) throws Exception; // 数据插入操作
public Emp findByid(String empno) throws Exception; // 通过编号查询
public int count() throws Exception;
public List<Emp> Fyselect(int pagesize, int pagenum) throws Exception; // 分页
public boolean check(String name, String password) throws Exception; // 用户登录
public List<Emp> findAll(String keyword) throws Exception;
public boolean update(Emp emp) throws Exception; // 数据更新操作
}
EmpDAOImpI
package dao;
import dao.vo.Emp;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.util.ArrayList;
import java.util.List;
public class EmpDAOImpI implements IEmpDAO{//真实主题实现类
private Connection conn = null;
private PreparedStatement pstmt = null;
public EmpDAOImpI(Connection conn){
this.conn = conn;
}//取得数据库连接
public boolean doCreate(dao.vo.Emp emp) throws Exception{
boolean flag = false;
String sql = "INSERT INTO emp (empno,ename,job,hiredate,comm,photo) VALUE (?,?,?,?,?,?)";
this.pstmt = this.conn.prepareStatement(sql);
this.pstmt.setString(1,emp.getEmpno());
this.pstmt.setString(2, emp.getEname());
this.pstmt.setString(3,emp.getJob());
this.pstmt.setString(4,emp.getHiredate());
this.pstmt.setFloat(5,emp.getComm());
this.pstmt.setString(6,emp.getPhoto());
if (this.pstmt.executeUpdate()>0){//更新记录的行数大于0
flag = true;
}
this.pstmt.close();
return flag;
}
public int count() throws Exception {
int count = 0;
String sql = "select count(*) from emp";
this.pstmt = conn.prepareStatement(sql);
ResultSet rs = this.pstmt.executeQuery();
if (rs.next()) {
count = Integer.parseInt(rs.getString(1));
}
rs.close();
this.pstmt.close();
return count;
}
public List<dao.vo.Emp> Fyselect(int pagesize, int pagenum) throws Exception {
List<dao.vo.Emp> all = new ArrayList<>();
String sql = "select * from emp limit ?,?";
this.pstmt = conn.prepareStatement(sql);
this.pstmt.setInt(1, (pagenum - 1) * pagesize);
this.pstmt.setInt(2, pagesize);
ResultSet rs = this.pstmt.executeQuery();
dao.vo.Emp emp = null;
while (rs.next()) {
emp = new dao.vo.Emp();
emp.setEmpno(rs.getString(1));
emp.setEname(rs.getString(2));
emp.setJob(rs.getString(3));
emp.setHierdate(rs.getString(4));
emp.setComm(rs.getFloat(5));
emp.setPhoto(rs.getString(6));
all.add(emp);
}
rs.close();
this.pstmt.close();
return all;
}
public boolean check(String name, String password) throws Exception {
boolean flag = false;
String sql = "select * from users where name=? and password=?";
this.pstmt = conn.prepareStatement(sql);
this.pstmt.setString(1, name);
this.pstmt.setString(2, password);
ResultSet rs = this.pstmt.executeQuery();
if (rs.next()) {
flag = true;
}
this.pstmt.close();
return flag;
}
public List<dao.vo.Emp> findAll(String keyWord) throws Exception{
List<dao.vo.Emp> all = new ArrayList<>();//定义集合,接收全部数据
String sql = "SELECT empno,ename,job,hiredate,comm,photo FROM emp WHERE ename LIKE ? OR job LIKE ?";
this.pstmt = this.conn.prepareStatement(sql);
this.pstmt.setString(1,"%" + keyWord + "%");
this.pstmt.setString(2,"%" + keyWord + "%");
ResultSet rs = this.pstmt.executeQuery();
dao.vo.Emp emp = null;
while (rs.next()){
emp = new dao.vo.Emp();
emp.setEmpno(rs.getString(1));
emp.setEname(rs.getString(2));
emp.setJob(rs.getString(3));
emp.setHierdate(rs.getString(4));
emp.setComm(rs.getFloat(5));
emp.setPhoto(rs.getString(6));
all.add(emp);
}
this.pstmt.close();
return all;
}
public dao.vo.Emp findByid(String empno) throws Exception{
dao.vo.Emp emp = null;
String sql ="SELECT * FROM emp WHERE empno = ?";
this.pstmt = conn.prepareStatement(sql);
this.pstmt.setString(1,empno);
ResultSet rs = this.pstmt.executeQuery();
if (rs.next()) {
emp = new Emp();
emp.setEmpno(rs.getString(1));
emp.setEname(rs.getString(2));
emp.setJob(rs.getString(3));
emp.setHierdate(rs.getString(4));
emp.setComm(rs.getFloat(5));
emp.setPhoto(rs.getString(6));
}
this.pstmt.close();
return emp;
}
public boolean update(dao.vo.Emp emp) throws Exception {
boolean flag = false;
String sql = "update emp set ename=?,job=?,hiredate=?,comm=?,photo=? where empno=?";
this.pstmt = this.conn.prepareStatement(sql);
this.pstmt.setString(1,emp.getEmpno());
this.pstmt.setString(2, emp.getEname());
this.pstmt.setString(3,emp.getJob());
this.pstmt.setString(4,emp.getHiredate());
this.pstmt.setFloat(5,emp.getComm());
this.pstmt.setString(6,emp.getPhoto());
if (this.pstmt.executeUpdate() == 1) {
flag = true;
}
this.pstmt.close();
return flag;
}
}
EmpDAOProxy
package dao;
import dao.IEmpDAO;
import dao.dbc.DatabaseConnection;
import dao.dbc.MysqlDatabaseConnection;
import dao.vo.Emp;
import java.util.List;
public class EmpDAOProxy implements IEmpDAO {//代理主题实现类
private DatabaseConnection dbc = null;
private IEmpDAO dao = null;
public EmpDAOProxy() throws Exception{
this.dbc = new MysqlDatabaseConnection();//连接数据库
this.dao = new dao.EmpDAOImpI(this.dbc.getConnection());
}
public boolean doCreate(Emp emp) throws Exception{
boolean flag = false;
try{
if (this.dao.findByid(emp.getEmpno())==null){
flag = this.dao.doCreate(emp);
}
}catch (Exception e){
throw e;
} finally{
this.dbc.close();;
}
return flag;
}
public List<Emp> findAll(String keyWorld) throws Exception {
List<Emp> all = null;
try {
all = this.dao.findAll(keyWorld);
} catch (Exception e) {
throw e;
} finally {
this.dbc.close();
}
return all;
}
public Emp findByid(String empno) throws Exception {
Emp emp = null;
try {
emp = this.dao.findByid(empno);
}catch (Exception e) {
throw e;
}finally {
return emp;
}
}
public int count() throws Exception {
int count = 0;
try {
count = this.dao.count();
}catch (Exception e) {
throw e;
}finally {
this.dbc.close();
}
return count;
}
public List<Emp> Fyselect(int pagesize, int pagenum) throws Exception {
List<Emp> all = null;
try {
all = this.dao.Fyselect(pagesize, pagenum);
}catch (Exception e){throw e;}finally {
this.dbc.close();
}
return all;
}
public boolean check(String name, String password) throws Exception {
boolean flag = false;
try {
flag = this.dao.check(name, password);
}catch (Exception e){throw e;}finally {
this.dbc.close();
}
return flag;
}
public boolean update(Emp emp) throws Exception {
boolean flag = false;
try {
flag = this.dao.update(emp);
}catch (Exception e){throw e;}finally {
this.dbc.close();
}
return flag;
}
}
2.页面实现
welcome
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="ISO-8859-1">
<title>首页
</title>
</head>
<body>
<%request.setCharacterEncoding("UTF-8");%>
<%
if(session.getAttribute("uname")!=null){ //如果session存值就跳转
%>
<jsp:forward page="userpage.jsp"/>
<%
}else{
%>
<h3>请先进行系统<a href="index.jsp">登录</a></h3>
<%
}
%>
</body>
</html>
index
<%--
Created by IntelliJ IDEA.
User: HUAWEI
Date: 2022/12/2
Time: 22:15
To change this template use File | Settings | File Templates.
--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
<title>管理员登录页面</title>
</head>
<body>
<%
String username = "";
String userpassword = "";
Cookie cookie[] = request.getCookies();
for(int i=0;i<cookie.length;i++){
if("username".equals(cookie[i].getName())){
username = cookie[i].getValue();
}else if("userpassword".equals(cookie[i].getName())){
userpassword = cookie[i].getValue();
}
}
%>
<form action="check.jsp" method="post">
用户名<input type="text" name="name" value="<%=username%>"><br>
密 码<input type="password" name="password" value="<%=userpassword%>"><br>
<input type="checkbox" name="remember" value="1">记住我
<input type="submit" value="登录">
</form>
</body>
</html>
check
<%@ page import="dao.DAOFactory" %><%--
Created by IntelliJ IDEA.
User: HUAWEI
Date: 2022/12/2
Time: 22:15
To change this template use File | Settings | File Templates.
--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
<title>Title</title>
</head>
<body>
<%request.setCharacterEncoding("UTF-8"); %>
<%
String name = request.getParameter("name");
String password = request.getParameter("password");
String remember = request.getParameter("remember");
boolean flag = false;
if(DAOFactory.getIEmpDAOinstance().check(name, password)){
session.setAttribute("uname", name);
flag = true;
if(remember!=null){
Cookie cookiename = new Cookie("username",name);
Cookie cookiepassword = new Cookie("userpassword",password);
cookiename.setMaxAge(60*60*24);//时间是一天
cookiepassword.setMaxAge(60*60*24);
response.addCookie(cookiename);
response.addCookie(cookiepassword);
}
}
if(flag){
%>
<jsp:forward page="welcome.jsp"/>
<%
}else{
%>
<jsp:forward page="failure.jsp"/>
<%
}
%>
</body>
</html>
userpage
<%@ page import="dao.DAOFactory" %>
<%@ page import="dao.vo.Emp" %>
<%@ page import="java.util.*" %>
<%@ page import="java.util.List" %>
<%@ page import="java.util.Iterator" %><%--
Created by IntelliJ IDEA.
User: HUAWEI
Date: 2022/12/2
Time: 22:15
To change this template use File | Settings | File Templates.
--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
<title>雇员信息</title>
</head>
<body>
<h1>雇员列表</h1>
<%request.setCharacterEncoding("UTF-8"); %>
<form action="select.jsp" method="post">
请输入关键字<input type="text" name="keyword">
<input type="submit" value="查询">
<input type="button" value="增加雇员" onclick="window.location.href='add.jsp'">
</form><%--location.href="/url" 当前页面打开URL页面--%>
<%
String n = request.getParameter("pageNum"); //获取到通过超链接得到的值
//分页
int pageSize = 5; //每页的数据条数
int lineCount = 0; //获得数据库中的数据
int pageCount = 0; //分多少页
int pageNum = 1; //当前页
if(n!=null){
pageNum = Integer.parseInt(n);
}
lineCount = DAOFactory.getIEmpDAOinstance().count(); //查出数据库中有多少条数据
pageCount = lineCount % pageSize == 0 ? lineCount/pageSize : lineCount/pageSize + 1; //计算分多少页
List<Emp> all = DAOFactory.getIEmpDAOinstance().Fyselect(pageSize,pageNum);
Iterator<Emp> iter = all.iterator();//迭代器用于访问集合
String path = application.getRealPath("//")+"upload//3b0838d1-35ed-473a-844d-726f70caf6f0.jpg";
%>
<h2>雇员信息</h2>
<table>
<tr>
<td align="center">雇员编号</td>
<td align="center">雇员姓名</td>
<td align="center">雇员工作</td>
<td align="center">入职时间</td>
<td align="center">每月工资</td>
<td align="center">雇员头像</td>
<td align="center">状态</td>
</tr>
<%
while(iter.hasNext()){//输出集合到emp
Emp emp = iter.next();
%>
<tr>
<td align="center"><%=emp.getEmpno() %></td>
<td align="center"><%=emp.getEname() %></td>
<td align="center"><%=emp.getJob() %></td>
<td align="center"><%=emp.getHiredate() %></td>
<td align="center"><%=emp.getComm() %></td>
<td align="center"><img src="./upload/<%=emp.getPhoto()%>" style="width:100px; height:100px"></td>
<td align="center"><a href="update.jsp?emp=<%=emp.getEmpno() %>">修改</a></td><%--问号表示后面要带参数--%>
</tr>
<%
}
%>
</table>
<%
for(int i=1;i<=pageCount;i++){//输出页号
%>
<a href="userpage.jsp?pageNum=<%=i%>">[<%=i %>]</a> <!--将当前页的序号传递给当前页-->
<%
}
%>
<img src="<%=path%>">
</body>
</html>
add
<%--
Created by IntelliJ IDEA.
User: HUAWEI
Date: 2022/12/2
Time: 22:16
To change this template use File | Settings | File Templates.
--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
<title>增加雇员</title>
<script type="text/javascript">
function oc1() {
var flag = true;
//编号验证
var userno = document.getElementById("no");
var usernotext = userno.value;
var usernospanobj = document.getElementById("usernospan");
var pst = /^[0-9]*$/;//匹配0个或0个以上的0-9之间的数字
if (!pst.test(usernotext)) {//用来检测一个字符串是否匹配某个正则表达式
usernospanobj.innerHTML = "请输入数字!";//设置或返回表格行的开始和结束标签之间的 HTML。
flag = false;
} else {
usernospanobj.innerHTML = " ";//设置或返回表格行的开始和结束标签之间的 HTML。
}
//用户名验证
var user = document.getElementById("username");
var usertext = user.value;
var usernamespanobj = document.getElementById("usernamespan");
if (usertext === " ") {
usernamespanobj.innerHTML = "不能为空!";
flag = false;
} else {
usernamespanobj.innerHTML = " ";
}
//工作验证
var userwork = document.getElementById("work");
var userworktext = userwork.value;
var userworkspanobj = document.getElementById("workspan");
if (userworktext === " ") {
userworkspanobj.innerHTML = "不能为空!";
flag = false;
} else {
userworkspanobj.innerHTML = " ";
}
//日期验证
var userdata = document.getElementById("date");
var userdatawork = userdata.value;
var userdatapanobj = document.getElementById("dataspan");
var patt = /^[1-9]\d{3}-(0[1-9]|1[0-2])-(0[1-9]|[1-2][0-9]|3[0-1])$/;
if (!patt.test(userdatawork)) {
userdatapanobj.innerHTML = "输入正确的格式 例:2022-11-10";
flag = false;
} else {
userdatapanobj.innerHTML = " ";
}
//工资验证
var userwage = document.getElementById("wage");
var userwagetext = userwage.value;
var userwagerspanobj = document.getElementById("wagespan");
var patt1 = /^\d+\.\d+$/;
if (!patt1.test(userwagetext)) {
userwagerspanobj.innerHTML = "必须是数字(小数)!";
flag = false;
} else {
userwagerspanobj.innerHTML = " ";
}
return flag;
}
</script>
</head>
<body>
<div>
<h2>增加雇员信息</h2>
<form action="addsql.jsp" method="post" enctype="multipart/form-data" onsubmit="return oc1()" >
雇员编号:<input type="text" id="no" name="deptno"><span id="usernospan" style="color: red"></span><br>
雇员姓名:<input type="text" id="username" name="dname" /><span id="usernamespan" style="color: red"></span><br>
雇员工作:<input type="text" id="work" name="job"><span id="workspan" style="color: red"></span><br>
雇员日期:<input type="text" id="date" name="date"><span id="dataspan" style="color: red"></span><br>
每月工资:<input type="text" id="wage" name="salary"><span id="wagespan" style="color: red"></span><br>
雇员头像:<input type="file" name="photo"><br>
<input type="submit" value="注册" ><input type="button" value="返回" onclick="window.location.href='welcome.jsp';">
</form>
</div>
</body>
</html>
addsql
<%@ page import="dao.DAOFactory" %>
<%@ page import="com.jspsmart.upload.SmartUpload" %>
<%@ page import="java.util.UUID" %>
<%@ page import="dao.vo.Emp" %>
<%@ page import="java.util.Date" %><%--
Created by IntelliJ IDEA.
User: HUAWEI
Date: 2022/12/2
Time: 22:16
To change this template use File | Settings | File Templates.
--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
<title>完成增加雇员操作</title>
</head>
<body>
<%
SmartUpload smart = new SmartUpload();
smart.initialize(pageContext);
smart.upload();
String fileName = null;
String ext = null;
if(smart.getFiles().getSize()>0){ //如果获取到文件
ext=smart.getFiles().getFile(0).getFileExt(); //取得文件后缀名称
fileName= UUID.randomUUID().toString()+"."+ext; //取得文件名称
smart.getFiles().getFile(0).saveAs(request.getServletContext().getRealPath("/")+"sy4"+"/"+"upload"+ java.io.File.separator+fileName); //保存文件
}else{
fileName = "af956332-e936-4ae9-a16d-1f37163dabe4.jpg";
}
String empno = smart.getRequest().getParameter("deptno");
String ename = smart.getRequest().getParameter("dname");
String job = smart.getRequest().getParameter("job");
String hiredate = smart.getRequest().getParameter("date");
String comm = smart.getRequest().getParameter("salary");
String msg = null;
Emp emp = new Emp();
emp.setEmpno(empno);
emp.setEname(ename);
emp.setJob(job);
emp.setHierdate(hiredate);
emp.setComm(Float.parseFloat(comm));
emp.setPhoto(fileName);
if(DAOFactory.getIEmpDAOinstance().doCreate(emp)){
msg="添加成功";
}else{
msg="修改失败";
}
%>
<script type="text/javascript">
alert("<%=msg%>");
window.location="userpage.jsp";
</script>
</body>
</html>
update
<%@ page import="dao.vo.Emp" %>
<%@ page import="dao.DAOFactory" %>
<%@ page import="com.jspsmart.upload.*" %>
<%@ page import="dao.*" %>
<%--
Created by IntelliJ IDEA.
User: HUAWEI
Date: 2022/12/2
Time: 22:16
To change this template use File | Settings | File Templates.
--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
<title>修改雇员信息</title>
</head>
<body>
<h2>修改雇员信息</h2>
<script type="text/javascript">
function oc1() {
var flag = true;
//编号验证
var userno = document.getElementById("no");
var usernotext = userno.value;
var usernospanobj = document.getElementById("usernospan");
var pst = /^[0-9]*$/;
if (!pst.test(usernotext)) {
usernospanobj.innerHTML = "请输入数字!";
flag = false;
} else {
usernospanobj.innerHTML = " ";
}
//用户名验证
var user = document.getElementById("username");
var usertext = user.value;
var usernamespanobj = document.getElementById("usernamespan");
if (usertext === " ") {
usernamespanobj.innerHTML = "不能为空!";
flag = false;
} else {
usernamespanobj.innerHTML = " ";
}
//工作验证
var userwork = document.getElementById("work");
var userworktext = userwork.value;
var userworkspanobj = document.getElementById("workspan");
if (userworktext === " ") {
userworkspanobj.innerHTML = "不能为空!";
flag = false;
} else {
userworkspanobj.innerHTML = " ";
}
//日期验证
var userdata = document.getElementById("date");
var userdatawork = userdata.value;
var userdatapanobj = document.getElementById("dataspan");
var patt = /^[1-9]\d{3}-(0[1-9]|1[0-2])-(0[1-9]|[1-2][0-9]|3[0-1])$/;
if (!patt.test(userdatawork)) {
userdatapanobj.innerHTML = "输入正确的格式 例:2022-11-10";
flag = false;
} else {
userdatapanobj.innerHTML = " ";
}
//每月工资验证
var userwage = document.getElementById("wage");
var userwagetext = userwage.value;
var userwagerspanobj = document.getElementById("wagespan");
var patt1 = /^\d+\.\d+$/;
if (!patt1.test(userwagetext)) {
userwagerspanobj.innerHTML = "必须是数字(小数)!";
flag = false;
} else {
userwagerspanobj.innerHTML = " ";
}
return flag;
}
</script>
<%
String id = request.getParameter("emp");
Emp emp = DAOFactory.getIEmpDAOinstance().findByid(id);
%>
<form action="updatesql.jsp?picture=<%=emp.getPhoto()%>" method="post" enctype="multipart/form-data" onsubmit="return oc1()" >
雇员编号:<input type="text" id="no" name="deptno" value="<%=emp.getEmpno()%>"><br>
雇员姓名:<input type="text" id="username" name="dname" value="<%=emp.getEname()%>"><br>
雇员工作:<input type="text" id="work" name="job" value="<%=emp.getJob()%>"><br>
雇员日期:<input type="text" id="date" name="date" value="<%=emp.getHiredate()%>"><br>
雇员工资:<input type="text" id="wage" name="salary" value="<%=emp.getComm()%>"><br>
雇员头像:<input type="file" name="photo" class="tupian"><br>
<input type="submit" value="修改" >
<input type="button" value="返回" onclick="window.location.href='welcome.jsp';">
</form>
<div>
<img src="./upload/<%=emp.getPhoto() %>" style="width:100px; height:100px"/>
</div>
</body>
</html>
updatesql
<%@ page import="dao.DAOFactory" %>
<%@ page import="com.jspsmart.upload.SmartUpload" %>
<%@ page import="java.util.UUID" %>
<%@ page import="dao.vo.Emp" %><%--
Created by IntelliJ IDEA.
User: HUAWEI
Date: 2022/12/2
Time: 22:16
To change this template use File | Settings | File Templates.
--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
<title>完成修改雇员</title>
</head>
<body>
<%request.setCharacterEncoding("GBK");%>
<%
String ext=null;
String fileName=null;
SmartUpload smart=new SmartUpload(); //新建一个对象
smart.initialize(pageContext); //上传初始化
smart.upload(); //上传做准备
if(smart.getFiles().getSize()>0){ //如果获取到文件
ext=smart.getFiles().getFile(0).getFileExt(); //取得文件后缀名称
fileName= UUID.randomUUID().toString()+"."+ext; //取得文件名称
smart.getFiles().getFile(0).saveAs(request.getServletContext().getRealPath("/")+"sy4"+"/"+"upload"+ java.io.File.separator+fileName); //保存文件
}
else {
fileName=request.getParameter("picture"); //接受update页面传过来的图片参数
}
String empno = smart.getRequest().getParameter("deptno");
String ename = smart.getRequest().getParameter("dname");
String job = smart.getRequest().getParameter("job");
String hiredate = smart.getRequest().getParameter("date");
String comm = smart.getRequest().getParameter("salary");
String msg = null;
Emp emp = new Emp();
emp.setEmpno(empno);
emp.setEname(ename);
emp.setJob(job);
emp.setHierdate(hiredate);
emp.setComm(Float.parseFloat(comm));
emp.setPhoto(fileName);
if(DAOFactory.getIEmpDAOinstance().update(emp)){
msg="修改成功";
}else{
msg="修改失败";
}
%>
<script type="text/javascript">
alert("<%=msg%>");
window.location="userpage.jsp";
</script>
</body>
</html>
select
<%@ page import="dao.vo.Emp" %>
<%@ page import="java.util.List" %>
<%@ page import="dao.DAOFactory" %>
<%@ page import="java.util.Iterator" %><%--
Created by IntelliJ IDEA.
User: HUAWEI
Date: 2022/12/2
Time: 22:16
To change this template use File | Settings | File Templates.
--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
<title>Title</title>
</head>
<body>
<body>
<%request.setCharacterEncoding("UTF-8");%>
<%
String keyword = request.getParameter("keyword");
if(keyword==null){
keyword="";
}
List<Emp> all = DAOFactory.getIEmpDAOinstance().findAll(keyword);
Iterator<Emp> iter = all.iterator();
%>
<h2>查询结果</h2>
<table border="1" cellspacing="0" width="100%">
<tr>
<td align="center">雇员编号</td>
<td align="center">雇员姓名</td>
<td align="center">雇员工作</td>
<td align="center">入职时间</td>
<td align="center">基本工资</td>
<td align="center">雇员头像</td>
</tr>
<%
while(iter.hasNext()){
Emp emp = iter.next();
%>
<tr>
<td align="center"><%=emp.getEmpno() %></td>
<td align="center"><%=emp.getEname() %></td>
<td align="center"><%=emp.getJob() %></td>
<td align="center"><%=emp.getHiredate() %></td>
<td align="center"><%=emp.getComm() %></td>
<td align="center"><img src="./upload/<%=emp.getPhoto() %>" style="width:100px; height:100px"></td>
</tr>
<%
}
%>
</table>
<a href="welcome.jsp">返回首页</a>
</body>
</html>
注意事项:
1.该项目使用的IDEA会有一些配置需要调整
2.项目的解构以图片和图片中的项目名为准
3.如果有问题可以联系作者QQ1723847797