struts2的上传
来源:互联网 发布:淘宝手机店铺打不开 编辑:程序博客网 时间:2024/06/04 19:11
第一种采用Servlet3.0的上传:
UploadServlet.java
package action;import java.io.IOException;import java.io.PrintWriter;import java.util.Collection;import javax.servlet.ServletException;import javax.servlet.annotation.MultipartConfig;import javax.servlet.http.HttpServlet;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;import javax.servlet.http.Part;//注释3.0版本使用@MultipartConfigpublic class UploadServlet extends HttpServlet {/** * */private static final long serialVersionUID = 1L;@Overrideprotected void service(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException {Part part=request.getPart("file");response.setContentType("text/html;charset=GBK");PrintWriter out=response.getWriter();String fileName=request.getParameter("name");out.println("上传文件的类型:"+part.getContentType()+"<br/>");out.println("上传文件大小:"+part.getSize()+"<br/>");Collection<String> headerNames=part.getHeaderNames();for(String headerName:headerNames){out.println(headerName+"---->"+part.getHeader(headerName)+"<br/>");}part.write(getServletContext().getRealPath("/uploadFiles")+"/"+fileName);} }
web.xml
<?xml version="1.0" encoding="UTF-8"?><web-app id="WebApp_9" version="2.4" xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd"><servlet><servlet-name>upload</servlet-name><servlet-class>action.UploadServlet</servlet-class></servlet><servlet-mapping> <servlet-name>upload</servlet-name> <url-pattern>/uploadServlet</url-pattern></servlet-mapping></web-app>
index.jsp
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%><%String path = request.getContextPath();String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";%><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"><html> <head> <base href="<%=basePath%>"> <title>My JSP 'index.jsp' starting page</title><meta http-equiv="pragma" content="no-cache"><meta http-equiv="cache-control" content="no-cache"><meta http-equiv="expires" content="0"> <meta http-equiv="keywords" content="keyword1,keyword2,keyword3"><meta http-equiv="description" content="This is my page"><!--<link rel="stylesheet" type="text/css" href="styles.css">--> </head> <body> <form action="/Uploads/uploadServlet" method="post" enctype="multipart/form-data"> 文件名:<input type="text" name="name"/> 文件:<input type="file" name="file"/><input type="submit"/> </form> </body></html>
第二种采用struts2文件上传:
UploadAction.java
package action;import java.io.File;import java.io.FileInputStream;import java.io.FileOutputStream;import org.apache.struts2.ServletActionContext;import com.opensymphony.xwork2.ActionSupport;public class UploadAction extends ActionSupport {/** * */private static final long serialVersionUID = 1L;private String title;private File uploadfile;private String uploadfileContentType;private String uploadfileFileName;private String savePath;public String upload() throws Exception {FileInputStream fis = new FileInputStream(getUploadfile()); FileOutputStream fos=new FileOutputStream(getSavePath()+"\\"+getUploadfileFileName()); byte[] buffer=new byte[1024]; int len=0; while((len=fis.read(buffer))>0){ fos.write(buffer,0,len); } fos.close(); fis.close(); return SUCCESS;}public String getTitle() {return title;}public void setTitle(String title) {this.title = title;}public File getUploadfile() {return uploadfile;}public void setUploadfile(File uploadfile) {this.uploadfile = uploadfile;}public String getUploadfileContentType() {return uploadfileContentType;}public void setUploadfileContentType(String uploadfileContentType) {this.uploadfileContentType = uploadfileContentType;}public String getUploadfileFileName() {return uploadfileFileName;}public void setUploadfileFileName(String uploadfileFileName) {this.uploadfileFileName = uploadfileFileName;}public String getSavePath() {return ServletActionContext.getServletContext().getRealPath(savePath);//得到绝对路径}public void setSavePath(String savePath) {this.savePath = savePath;}}
<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE struts PUBLIC"-//Apache Software Foundation//DTD Struts Configuration 2.3//EN""http://struts.apache.org/dtds/struts-2.3.dtd"><struts><package name="hello" namespace="/hello" extends="struts-default"><action name="login" class="action.UploadAction" method="upload"><param name="savePath">/uploadFiles</param><result name="success">/success.jsp</result></action></package></struts>
success.jsp
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%><%@taglib prefix="s" uri="/struts-tags"%> </head> <%String path = request.getContextPath(); System.out.println(path);String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";System.out.println(basePath);%> <body> 上传成功!<br> 文件标题:<s:property value="title"/><br> 文件为:<img src="<%=basePath%><s:property value="'uploadFiles/'+uploadfileFileName"/>"/><br> </body></html>
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%><%String path = request.getContextPath();String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";%><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"><html> <head> <base href="<%=basePath%>"> <title>My JSP 'index.jsp' starting page</title><meta http-equiv="pragma" content="no-cache"><meta http-equiv="cache-control" content="no-cache"><meta http-equiv="expires" content="0"> <meta http-equiv="keywords" content="keyword1,keyword2,keyword3"><meta http-equiv="description" content="This is my page"><!--<link rel="stylesheet" type="text/css" href="styles.css">--> </head> <body> <form action="/Upload/hello/login" method="post" enctype="multipart/form-data"> 文件名:<input type="text" name="title"/> 文件:<input type="file" name="uploadfile"/><input type="submit"/> </form> </body></html>
0 0
- [Struts2]Struts2的文件上传
- Struts2的文件上传
- Struts2的文件上传
- Struts2的文件上传
- struts2的文件上传
- Struts2 的文件上传
- struts2的文件上传
- Struts2文件的上传
- Struts2文件的上传
- Struts2的上传
- struts2的文件上传
- Struts2文件的上传
- struts2的文件上传
- Struts2的文件上传
- struts2文件的上传
- struts2的上传例子
- Struts2的文件上传
- struts2 的文件上传
- PHP编码规范(1)
- 学习与生活
- 程序员的奋斗史(三十四)——人在囧途之应聘篇(四)
- CF 258B Little Elephant and Elections
- java命名规则和数据类型
- struts2的上传
- 豆瓣robots.txt分析
- 索引的基本概念、分类、优点、使用
- 九度oj 题目1014:排名 【ZJU2005机试题5】
- win7中VC6.0 visual C++6.0无法打开文件和向工程中添加文件的解决办法【已添加部分注释】
- 内存数据库fastdb
- 洗牌算法-神级算法来源
- hdu3535AreYouBusy (分组背包,WA了很多次)
- 2014年启用响应式网页的5个理由