当前位置: 首页 > news >正文

如何管理网站页面设计超级优化

如何管理网站页面设计,超级优化,Wordpress Flexsilder,表格做的网站影响收录在实际的开发中在实现文件上传的同时肯定还有其他信息需要保存到数据库,就像混合表单在上传完毕之后需要将提交的基本信息插入数据库。 在这个demo中需要用到这个架包来帮助实现 1.定义一个公共类实现文件上传(BaseServlet) 上传是一个公共的…

在实际的开发中在实现文件上传的同时肯定还有其他信息需要保存到数据库,就像混合表单在上传完毕之后需要将提交的基本信息插入数据库。

在这个demo中需要用到这个架包来帮助实现

 

1.定义一个公共类实现文件上传(BaseServlet)

上传是一个公共的操作,可能在很多个servlet中都要涉及到上传,比如在Empservlet中要上传雇员的照片,在ManagerServlet中要上传管理员的照片,此时就需要将上传的操作定义到一个公共父类。

package com.sxt.mvcpro.servlet;
import java.io.File;
import java.io.UnsupportedEncodingException;
import java.lang.reflect.Field;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.UUID;
import javax.servlet.ServletConfig;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import com.jspsmart.upload.SmartUpload;@SuppressWarnings("serial")
public abstract class BaseServlet extends HttpServlet {SmartUpload smart = null;String newFileName = null;public void saveFile(HttpServletRequest req, HttpServletResponse resp) {smart = new SmartUpload();ServletConfig config = super.getServletConfig();try {// 初始化
            smart.initialize(config, req, resp);smart.setAllowedFilesList("jpg,png,gif");smart.setMaxFileSize(1024 * 1024 * 1024 * 5);smart.setTotalMaxFileSize(1024 * 1024 * 1024 * 5 * 10);smart.upload();// 取得上传文件的路径信息String filepath = req.getServletContext().getRealPath("/" + this.getDir());File file = new File(filepath);if (!file.exists()) {file.mkdirs();}if (smart.getFiles().getFile(0).getSize() > 0) {// 有文件才进行上传String ext = smart.getFiles().getFile(0).getFileExt();// 生成新的文件名String fileName = UUID.randomUUID().toString().replaceAll("-", "");// 保存文件(按照新文件名保存)newFileName = this.getDir() + fileName + "." + ext;smart.getFiles().getFile(0).saveAs(filepath + fileName + "." + ext);} else {throw new Exception("文件为空");}} catch (Exception e) {e.printStackTrace();}}public <T> T initObj(HttpServletRequest req, Class<T> clz)throws IllegalArgumentException, ParseException, UnsupportedEncodingException {
//    req.setCharacterEncoding("utf-8");T t = null;try {t = clz.newInstance();Field[] fs = clz.getDeclaredFields();for (int i = 0; i < fs.length; i++) {fs[i].setAccessible(true);// 取得属性名String fname = fs[i].getName();// 从request内置对象中取得相应的值String fvalue = null;if (this.smart == null) {fvalue = req.getParameter(fname);} else {fvalue = new String(this.smart.getRequest().getParameter(fname).getBytes("GBK"), "utf-8");}if (fvalue == null) {continue;}System.out.println(fname+"==" + fvalue);if ("Double".equals(fs[i].getType().getSimpleName())) {fs[i].set(t, Double.valueOf(fvalue));} else if ("Integer".equals(fs[i].getType().getSimpleName())) {fs[i].set(t, Integer.parseInt(fvalue));} else if ("Date".equals(fs[i].getType().getSimpleName())) {// 2019-5-5fs[i].set(t, new SimpleDateFormat("yyyy-MM-dd").parse(fvalue));} else {fs[i].set(t, fvalue);}}} catch (Exception e) {e.printStackTrace();}return t;}protected void removeFile(HttpServletRequest req, String fileName) {String filePath = req.getServletContext().getRealPath("/") + fileName;File file = new File(filePath);if (file.exists()) {file.delete();}}//增加一个抽象方法子类必须实现(文件夹的名称交给子类决定)public abstract String getDir();
}

定义emp类:

package com.sxt.mvcpro.vo;import java.io.Serializable;
import java.util.Date;public class Emp implements Serializable {private Integer empno;private String ename;private String job;private Double sal;private Date hiredate;private Integer mgr;private Double comm;private Integer deptno;private String img;public Emp() {super();}public Integer getEmpno() {return empno;}public void setEmpno(Integer empno) {this.empno = empno;}public String getEname() {return ename;}public void setEname(String ename) {this.ename = ename;}public String getJob() {return job;}@Overridepublic String toString() {return "Emp [empno=" + empno + ", ename=" + ename + ", job=" + job + ", sal=" + sal + ", hiredate=" + hiredate+ ", mgr=" + mgr + ", comm=" + comm + ", deptno=" + deptno + ", img=" + img + "]";}public void setJob(String job) {this.job = job;}public Double getSal() {return sal;}public void setSal(Double sal) {this.sal = sal;}public Date getHiredate() {return hiredate;}public void setHiredate(Date hiredate) {this.hiredate = hiredate;}public Integer getMgr() {return mgr;}public void setMgr(Integer mgr) {this.mgr = mgr;}public Double getComm() {return comm;}public void setComm(Double comm) {this.comm = comm;}public Integer getDeptno() {return deptno;}public void setDeptno(Integer deptno) {this.deptno = deptno;}public String getImg() {return img;}public void setImg(String img) {this.img = img;}public Emp(Integer empno, String ename, String job, Double sal, Date hiredate, Integer mgr, Double comm,Integer deptno, String img) {this.empno = empno;this.ename = ename;this.job = job;this.sal = sal;this.hiredate = hiredate;this.mgr = mgr;this.comm = comm;this.deptno = deptno;this.img = img;}public Emp(Integer empno, String ename, String job, Double sal, Date hiredate, Integer mgr, Double comm,Integer deptno) {this.empno = empno;this.ename = ename;this.job = job;this.sal = sal;this.hiredate = hiredate;this.mgr = mgr;this.comm = comm;this.deptno = deptno;}}

调整业务层父类(EmpServlet)

package com.sxt.mvcpro.servlet;
import java.io.IOException;
import java.io.UnsupportedEncodingException;
import java.util.ArrayList;
import java.util.Date;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import javax.servlet.ServletContext;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import com.sxt.mvcpro.dao.service.IEmpService;
import com.sxt.mvcpro.dao.service.impl.EmpServiceImpl;
import com.sxt.mvcpro.factory.ServiceFactory;
import com.sxt.mvcpro.vo.Emp;@SuppressWarnings("serial")
@WebServlet(urlPatterns = { "/emp/*", "/dept/*" })
public class EmpServlet extends BaseServlet {private IEmpService empService = (IEmpService) ServiceFactory.getInstance(EmpServiceImpl.class);
@Overrideprotected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
String pathInfo = req.getPathInfo();try {if ("/regist".equals(pathInfo)) {this.regist(req, resp);}} catch (Exception e) {e.printStackTrace();}}
public void regist(HttpServletRequest req, HttpServletResponse resp) throws UnsupportedEncodingException {super.saveFile(req, resp);// 将基本信息保存到数据库中Emp emp = null;try {emp = super.initObj(req, Emp.class);emp.setImg(super.newFileName);System.out.println(emp);if (empService.addEmp(emp)) {// 保存添加雇员的信息req.setAttribute("emp", emp);req.getRequestDispatcher("/pages/emp.jsp").forward(req, resp);}} catch (Exception e) {e.printStackTrace();}System.out.println(emp);}
@Overrideprotected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {this.doGet(req, resp);}@Overridepublic String getDir() {return "empImgs/";}

前端客户端输入界面代码:(newLogin.jsp)

<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<base href="/Mvcpro/"/>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
<form action="emp/regist" method="POST" enctype="multipart/form-data">
<fieldset>
<legend>请注册</legend>
<br>编号:<input type="text" name="empno" value="7550"><br>
<br>姓名:<input type="text" name="ename" value="水电费"><br>
<br>职位:<input type="text" name="job" value="上单"><br>
<br>薪资:<input type="text" name="sal"value="20000"><br>
<br>领导编号:<input type="text" name="mgr"value="2343"><br>
<br>入职日期:<input type="text" name="hiredate"value="2019-07-04"><br>
<br>佣金:<input type="text" name="comm"value="1000"><br>
<br>部门编号:<input type="text" name="deptno"value="40"><br>
<br>&nbsp;&nbsp;&nbsp;片:<input type="file" name="img"><br>
<br><input type="submit" value="提交"><input type="reset" value="重置">
</fieldset>
</form>
</body>
</html>

前端客户端输出界面代码:(emp.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>
<base href="/MvcPro/"/>
</head>
<body><h1>显示雇员的信息:${emp}</h1><table border="1"><tr><td>编号</td><td>姓名</td><td>职位</td><td>薪资</td><td>领导编号</td><td>入职日期</td><td>佣金</td><td>部门编号</td><td>照片</td></tr><tr><td>${emp.empno}</td><td>${emp.ename}</td><td>${emp.job}</td><td>${emp.sal}</td><td>${emp.mgr}</td><td>${emp.hiredate}</td><td>${emp.comm}</td><td>${emp.deptno}</td><td><img src="${emp.img}"></td></tr></table>
</body>
</html>

调试效果图:

 

 

转载于:https://www.cnblogs.com/Nick7/p/10773573.html

http://www.lbrq.cn/news/2450719.html

相关文章:

  • 建设教育局官方网站未来网络营销的发展趋势
  • 软件系统网站建设关键词挖掘啊爱站网
  • 网站建设经验材料武汉seo服务多少钱
  • 网站设计咨询电话百度集团公司简介
  • 网站接单平台广东百度推广的代理商
  • 没得公司可以做网站嘛北京网站优化哪家好
  • 做字网站东莞企业网站排名优化
  • 政府网站英文版建设seo是指什么岗位
  • 网站运营这么做做网站seo优化
  • 爱企查 免费如何优化企业网站
  • 网站建设学费网址大全浏览器app
  • 全世界做会展介绍的网站排名移投界seo
  • 做外链选择那些网站网络推广方案的内容
  • 做电商网站费用生成关键词的软件
  • ps做的网站怎样在dw里打开市场调研怎么写
  • dede网站本地访问速度慢计算机培训短期速成班
  • python做博客网站百度站长提交
  • 应该怎样做网站地图刷排名有百度手机刷排名
  • 江苏省住房和城乡建设委员会网站今日头条关键词工具
  • 企业网站优化服务主要围绕什么上海seo推广外包
  • 上海画册设计网站seo关键词排名
  • 苏州企业网站制作开发广告优化师
  • 常州软件开发公司汕头seo网站建设
  • 一款蛋糕食品类企业手机网站源码网络营销方案设计
  • 品牌画册设计佛山抖音seo
  • 局域网内的网站建设中国新冠疫苗接种率
  • 深圳建设工程协会网站常州网站建设书生商友
  • 北京市建设工程造价管理协会网站百度 营销怎么收费
  • 个人网页制作多少钱百合seo培训
  • 公司网站建设有什么好处公司推广
  • 【SpringAI实战】实现仿DeepSeek页面对话机器人(支持多模态上传)
  • 二开---01
  • IP证书:构建数字世界知识产权安全防线的基石
  • 一文读懂 HTTPS:证书体系与加密流程
  • GISBox实操指南:如何将IFC文件高效转换为3DTiles格式‌‌
  • 从零用java实现 小红书 springboot vue uniapp(15) 集成minio存储 支持本地和minio切换