实验六 基于组件的文件上传程序设计

80377f5787934507aec029f3cdfd8f45.png

fce45efdd6274e4fa59d19045e49f999.png

 

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>

47fc4c7ffee54412ac06a8e26d3461d3.png

 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>
    密&nbsp;&nbsp;&nbsp;&nbsp;码<input type="password" name="password" value="<%=userpassword%>"><br>
    <input type="checkbox" name="remember" value="1">记住我
    <input type="submit" value="登录">
</form>
</body>
</html>

89a4445c2606449a8d274e7bc6d6b65e.png

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>

de3d8f7c264e40cd89a71042b6ed61cc.png

 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>

87d5081d5f8541eea8f3ccb7f6e1fa59.png

 

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>

3578b0bc84b24f3ba7f73e32200d5823.png

 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

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

不想头秃的小码农

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值