首页>代码>轻量级apache dbutil搭建的一个demo,如果嫌hibernate等ORM框架太重的话可以考虑dbutil>/000_DBUtil/java/user/web/action/UserAction.java
package user.web.action; import java.io.File; import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.IOException; import java.io.InputStream; import java.net.URLEncoder; import java.util.List; import java.util.UUID; import org.apache.commons.io.FileUtils; import org.apache.commons.lang3.StringUtils; import org.apache.struts2.ServletActionContext; import sun.misc.BASE64Encoder; import user.domain.User; import user.exception.SQLException; import user.service.UserService; import com.opensymphony.xwork2.ActionContext; import com.opensymphony.xwork2.ActionSupport; import com.opensymphony.xwork2.ModelDriven; import com.opensymphony.xwork2.interceptor.annotations.InputConfig; public class UserAction extends ActionSupport implements ModelDriven<User> { private User u = new User(); List<User> users = null; public User getModel() { // TODO Auto-generated method stub return u; } @Override public String execute() throws Exception { return super.execute(); } // 配置错误返回的试图 // @InputConfig(resultName="NBA") public String login() { UserService useService = new UserService(); User userLogin = useService.login(u); if (userLogin == null) { this.addActionError("用户名密码错误"); return INPUT; } else { ServletActionContext.getRequest().getSession() .setAttribute("user", userLogin); } return SUCCESS; } @InputConfig(resultName = "addFAIL") public String add() throws IOException { if (u.getUpload() != null) { String uuid = UUID.randomUUID().toString(); String path = "/WEB-INF/upload/" + uuid; File dfile = new File(ServletActionContext.getServletContext() .getRealPath(path)); FileUtils.copyFile(u.getUpload(), dfile); u.setPath(path); u.setFilename(u.getUploadFileName()); } UserService useService = new UserService(); useService.saveUser(u); return "addSUCCESS"; } public String list() { UserService userService = new UserService(); users = userService.list(u); return "listSUCCESS"; } public List<User> getUsers() { return users; } public String delete() { UserService userService = new UserService(); // 删除简历 User user = userService.findById(u.getUserID()); if (StringUtils.isNotBlank(user.getPath())) { File file = new File(ServletActionContext.getServletContext() .getRealPath(user.getPath())); file.delete(); } userService.delete(u); return "deleteSUCCESS"; } public String views() { UserService userService = new UserService(); User user = userService.findById(u.getUserID()); user.setPath(ServletActionContext.getServletContext().getRealPath( u.getPath())); ActionContext.getContext().getValueStack().push(user); return "viewSUCCESS"; } public String download() { UserService userService = new UserService(); u = userService.findById(u.getUserID()); return "downloadSUCCESS"; } public InputStream getInputStream() throws FileNotFoundException { if (u == null || u.getPath() == null) { return null; } File file = new File(ServletActionContext.getServletContext() .getRealPath(u.getPath())); return new FileInputStream(file); } // 返回mime类型 public String getContentType() { if (u == null || u.getFilename() == null) { return null; } return ServletActionContext.getServletContext().getMimeType( u.getFilename()); } // 返回编码后的文件 public String getDownloadFileName() throws IOException { if (u == null || u.getFilename() == null) { return null; } return encodeDownloadFilename(u.getFilename(), ServletActionContext .getRequest().getHeader("user-agent")); } /** * 下载文件时,针对不同浏览器,进行附件名的编码 * * @param filename * 下载文件名 * @param agent * 客户端浏览器 * @return 编码后的下载附件名 * @throws IOException */ public String encodeDownloadFilename(String filename, String agent) throws IOException { if (StringUtils.isNotBlank(filename)) { if (agent.contains("Firefox")) { // 火狐浏览器 filename = "=?UTF-8?B?" + new BASE64Encoder() .encode(filename.getBytes("utf-8")) + "?="; filename = filename.replaceAll("\r\n", ""); // 解决②每76个字符加一个换行符 // 问题! } else { // IE及其他浏览器 filename = URLEncoder.encode(filename, "utf-8"); } } return filename; } public String editview() { UserService userService = new UserService(); ActionContext.getContext().getValueStack() .push(userService.findById(u.getUserID())); return "editviewSUCCESS"; } public String edit() { UserService userService = new UserService(); if (u.getUpload() == null) { userService.edit(u, false); } else { String uuid = UUID.randomUUID().toString(); String path = "/WEB-INF/upload/" + uuid; File dfile = new File(ServletActionContext.getServletContext() .getRealPath(path)); try { FileUtils.copyFile(u.getUpload(), dfile); } catch (IOException e) { e.printStackTrace(); throw new SQLException("qqq"); } u.setPath(path); u.setFilename(u.getUploadFileName()); User oldUser = userService.findById(u.getUserID()); if (oldUser.getPath() != null) { File file = new File(ServletActionContext.getServletContext() .getRealPath(oldUser.getPath())); file.delete(); } userService.edit(u, true); } return "editSUCCESS"; } // public String edit(){ // // } }
最近下载更多
xuyongff LV24
2020年3月3日
luo123456789 LV3
2019年9月3日
独行侠梦 LV4
2017年11月22日
sevenvsky LV27
2017年1月12日
wangkun999 LV10
2016年7月23日
prime2015 LV14
2016年3月8日
le2010 LV1
2015年1月29日
ding1209 LV13
2014年7月14日
limtno LV23
2014年7月11日
annoby LV23
2014年6月16日
最近浏览更多
cqbscxh LV11
2022年9月19日
xuyongff LV24
2019年11月4日
luo123456789 LV3
2019年9月3日
2544183455
2019年8月2日
暂无贡献等级
z924931408 LV25
2019年3月11日
654321zq LV2
2018年10月24日
lee123321 LV22
2018年8月22日
wkc LV21
2018年5月14日
liuxufen LV8
2018年4月20日
cyr921104 LV9
2018年3月19日