- 浏览: 439115 次
- 性别:
- 来自: 深圳
文章分类
最新评论
-
qja:
Iterator.remove()这个方法也会出错的。
java.util.ConcurrentModificationException 出现的原因和解决办法 -
angeli:
List<String> save = new A ...
java.util.ConcurrentModificationException 出现的原因和解决办法 -
大峰子:
灰常感谢 刚好碰到这个问题, 搜了好多都没找到解决方法
python学习笔记-Python交互模式下方向键出现乱码 -
anypwx:
牛哥,怎么找到的,解决了我的报错问题,谢谢
JSONObject NestableRuntimeException -
tp7300:
确实好很多了,谢谢博主。
Failed to install on device 'emulator-5554': timeout
1.首先创建一个FileUploadAction
package jxust.zjh.action;
import java.io.BufferedInputStream;
import java.io.BufferedOutputStream;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.util.Date;
import org.apache.struts2.ServletActionContext;
import com.opensymphony.xwork2.ActionSupport;
public class FileUploadAction extends ActionSupport {
private String savePath;
private String myFileFileName;//获取的文件名
private File myFile;
private String myFileContentType;//获取文件的类型
private String fileName;
public File getMyFile() {
return myFile;
}
public void setMyFile(File myFile) {
this.myFile = myFile;
}
public String getMyFileFileName() {
return myFileFileName;
}
public String getMyFileContentType() {
return myFileContentType;
}
public void setMyFileFileName(String myFileFileName) {
this.myFileFileName = myFileFileName;
}
public void setMyFileContentType(String myFileContentType) {
this.myFileContentType = myFileContentType;
}
public String getFileName() {
return fileName;
}
public void setFileName(String fileName) {
this.fileName = fileName;
}
public void setSavePath(String savePath) {
this.savePath = savePath;
}
public String getSavePath() {
return savePath;
}
public String execute() throws Exception {
String path = ServletActionContext.getServletContext().getRealPath(savePath);
File imageFile = new File(path + "\\" +myFileFileName);
System.out.println(imageFile);
BufferedInputStream bis = null;//获取一个上传文件的输入流
BufferedOutputStream bos = null;//获取一个上传文件的输出流
try {
bis = new BufferedInputStream(new FileInputStream(myFile));
bos = new BufferedOutputStream(new FileOutputStream(imageFile));
byte buf[] = new byte[(int)myFile.length()];
int length = 0;
while((length = bis.read(buf)) != -1) {
bos.write(buf, 0, length);
}
} catch (Exception e) {
e.printStackTrace();
}finally {
try {
if(bis != null) {
bis.close();
}
} catch (Exception e) {
e.printStackTrace();
}
try {
if(bos != null) {
bos.close();
}
} catch (Exception e) {
e.printStackTrace();
}
}
return SUCCESS;
}
}
2.配置web.xml文件
<?xml version="1.0" encoding="UTF-8"?>
<web-app 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">
<welcome-file-list>
<welcome-file>index.jsp</welcome-file>
</welcome-file-list>
<filter>
<filter-name>struts2-cleanUp</filter-name>
<filter-class>org.apache.struts2.dispatcher.ActionContextCleanUp</filter-class>
</filter>
<filter-mapping>
<filter-name>struts2-cleanUp</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
<filter>
<filter-name>struts2</filter-name>
<filter-class>org.apache.struts2.dispatcher.FilterDispatcher</filter-class>
</filter>
<filter-mapping>
<filter-name>struts2</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
</web-app>
3.配置struts.xml
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE struts PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
"http://struts.apache.org/dtds/struts-2.0.dtd">
<struts>
<package name="fileUpload" extends="struts-default">
<action name="fileUpload" class="jxust.zjh.action.FileUploadAction" >
<param name="savePath">images</param>
<result name="success">/uploadSuc.jsp</result>
</action>
</package>
</struts>
4.建一个上传页面index.jsp
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>
<%@ taglib uri="/struts-tags" prefix="s" %>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
</head>
<body>
<s:form action="fileUpload" method="post" enctype="multipart/form-data">
<s:file name="myFile" label="选择图片"/>
<s:submit value="上传"/>
</s:form>
</body>
</html>
5.上传成功后转向的页面uploadsuc.jsp
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>
<%@ taglib uri="/struts-tags" prefix="s" %>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
</head>
<body>
<s:debug></s:debug>
<h2>上传成功</h2>
<hr>
<img alt="图片" src="<s:property value="savePath + '/'+myFileFileName" />">
</body>
</html>
运行时服务器控制台有如下输出 Unable to find 'struts.multipart.saveDir' property setting. Defaulting to javax.servlet.context.tempdir
原因是struts.multipart.saveDir没有配置。struts.multipart.saveDir用于指定存放临时文件的文件夹,该配置写在struts.properties文件中。
可以在struts.properties文件加入如下代码解决:
struts.multipart.saveDir = /images
:上传成功的图片并不存放在myeclipse的workspace项目中,而是在tomcat中webapps下对应的项目中
package jxust.zjh.action;
import java.io.BufferedInputStream;
import java.io.BufferedOutputStream;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.util.Date;
import org.apache.struts2.ServletActionContext;
import com.opensymphony.xwork2.ActionSupport;
public class FileUploadAction extends ActionSupport {
private String savePath;
private String myFileFileName;//获取的文件名
private File myFile;
private String myFileContentType;//获取文件的类型
private String fileName;
public File getMyFile() {
return myFile;
}
public void setMyFile(File myFile) {
this.myFile = myFile;
}
public String getMyFileFileName() {
return myFileFileName;
}
public String getMyFileContentType() {
return myFileContentType;
}
public void setMyFileFileName(String myFileFileName) {
this.myFileFileName = myFileFileName;
}
public void setMyFileContentType(String myFileContentType) {
this.myFileContentType = myFileContentType;
}
public String getFileName() {
return fileName;
}
public void setFileName(String fileName) {
this.fileName = fileName;
}
public void setSavePath(String savePath) {
this.savePath = savePath;
}
public String getSavePath() {
return savePath;
}
public String execute() throws Exception {
String path = ServletActionContext.getServletContext().getRealPath(savePath);
File imageFile = new File(path + "\\" +myFileFileName);
System.out.println(imageFile);
BufferedInputStream bis = null;//获取一个上传文件的输入流
BufferedOutputStream bos = null;//获取一个上传文件的输出流
try {
bis = new BufferedInputStream(new FileInputStream(myFile));
bos = new BufferedOutputStream(new FileOutputStream(imageFile));
byte buf[] = new byte[(int)myFile.length()];
int length = 0;
while((length = bis.read(buf)) != -1) {
bos.write(buf, 0, length);
}
} catch (Exception e) {
e.printStackTrace();
}finally {
try {
if(bis != null) {
bis.close();
}
} catch (Exception e) {
e.printStackTrace();
}
try {
if(bos != null) {
bos.close();
}
} catch (Exception e) {
e.printStackTrace();
}
}
return SUCCESS;
}
}
2.配置web.xml文件
<?xml version="1.0" encoding="UTF-8"?>
<web-app 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">
<welcome-file-list>
<welcome-file>index.jsp</welcome-file>
</welcome-file-list>
<filter>
<filter-name>struts2-cleanUp</filter-name>
<filter-class>org.apache.struts2.dispatcher.ActionContextCleanUp</filter-class>
</filter>
<filter-mapping>
<filter-name>struts2-cleanUp</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
<filter>
<filter-name>struts2</filter-name>
<filter-class>org.apache.struts2.dispatcher.FilterDispatcher</filter-class>
</filter>
<filter-mapping>
<filter-name>struts2</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
</web-app>
3.配置struts.xml
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE struts PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
"http://struts.apache.org/dtds/struts-2.0.dtd">
<struts>
<package name="fileUpload" extends="struts-default">
<action name="fileUpload" class="jxust.zjh.action.FileUploadAction" >
<param name="savePath">images</param>
<result name="success">/uploadSuc.jsp</result>
</action>
</package>
</struts>
4.建一个上传页面index.jsp
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>
<%@ taglib uri="/struts-tags" prefix="s" %>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
</head>
<body>
<s:form action="fileUpload" method="post" enctype="multipart/form-data">
<s:file name="myFile" label="选择图片"/>
<s:submit value="上传"/>
</s:form>
</body>
</html>
5.上传成功后转向的页面uploadsuc.jsp
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>
<%@ taglib uri="/struts-tags" prefix="s" %>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
</head>
<body>
<s:debug></s:debug>
<h2>上传成功</h2>
<hr>
<img alt="图片" src="<s:property value="savePath + '/'+myFileFileName" />">
</body>
</html>
运行时服务器控制台有如下输出 Unable to find 'struts.multipart.saveDir' property setting. Defaulting to javax.servlet.context.tempdir
原因是struts.multipart.saveDir没有配置。struts.multipart.saveDir用于指定存放临时文件的文件夹,该配置写在struts.properties文件中。
可以在struts.properties文件加入如下代码解决:
struts.multipart.saveDir = /images
:上传成功的图片并不存放在myeclipse的workspace项目中,而是在tomcat中webapps下对应的项目中
发表评论
-
solr学习笔记-linux下配置solr
2012-05-26 20:03 7934本文地址: http://zhoujianghai. ... -
关于javac编译时出现“非法字符:\65279”的解决方法
2012-04-12 11:25 1918一些文本编辑软件在保存一个以UTF-8编码的文件时 ... -
UrlConnection连接和Socket连接的区别
2011-10-14 15:22 7152关于UrlConnection连接和Socket连接的区别,只 ... -
搜狗的一道关于加密解密的在线测评题目
2011-10-01 15:04 1612是一个信息编码的程序,阅读其encode部分,并补全其deco ... -
java实现快速排序
2011-09-08 11:00 1328/** * 快速排序 * @author zho ... -
java实现大数相乘
2011-09-08 10:41 3509计算大数:1234567891011121 ... -
java.util.ConcurrentModificationException 出现的原因和解决办法
2011-05-12 17:03 39331用iterator遍历集合时碰到java.util.Co ... -
Java:ArrayList和LinkedList区别
2011-02-15 16:30 1616一般大家都知道ArrayList ... -
java.lang.LinkageError: loader constraint violation: when resolving interface...
2010-10-06 22:12 2347java.lang.LinkageError: load ... -
JAVA多线程
2010-08-07 14:46 1067多线程 线程:是指进程中的一个执行流程。 线程与进程的区别 ... -
struts2常量详解
2010-06-11 08:55 1653struts2的配置文件之struts ... -
深入Java虚拟机:JVM中的Stack和Heap
2010-05-16 15:02 1103在JVM中,内存分为两个部分,Stack(栈)和Heap(堆) ... -
关于java的作用域protected
2010-05-10 19:54 1921在某个类中定义的protected 方法和属性和默认权限方法和 ... -
关于org.springframework.security.AccessDeniedException: Access is denied
2010-05-06 19:34 7775在做系统权限管理时使用了springsecurity,出现了如 ... -
struts2的struts.xml文件中package里的元素排列顺序
2010-04-22 09:52 1896package里元素必须按照一定的顺序排列,排列顺序如下: ... -
struts2自定义404错误页面
2010-04-21 17:50 5326以前做的一个网站,最近服务器后台出现一些异常,问题是客户访问一 ... -
hibernate的主键生成策略(generator)详解
2010-04-14 09:30 1784assigned” 主键由外 ... -
ssh开发关于struts2,action中方法执行两次的问题
2010-04-10 20:58 2346前段时间发现了一个很奇怪的问题,我的项目中关于action中的 ... -
org.hibernate.hql.ast.QuerySyntaxException: xx is not mapped [sql语句]
2010-04-08 10:06 2222今天一时大意,写了下面这条查询语句 final String ... -
Attempted a bean operation on a null object(tomcat5.0以上版本)
2010-03-24 21:45 1882今天做scwcd模拟题的时候,碰到这样一个题目: A serv ...
相关推荐
- `commons-fileupload.jar` 和 `commons-io.jar`: 这两个库支持文件上传功能,使用户能够通过Web表单上传文件到服务器。 3. **插件和支持库**: Struts2还提供了一系列插件,如 strut2-convention-plugin、struts2...
在描述中提到,之前上传的"struts2.1.6jar all.zip"文件出现了错误,里面包含了Hibernate的内容,而实际上应该是与Struts2相关的文件。因此,这里我们需要关注的是正确的Struts2.1.6版本,确保它包含所有必要的组件...
Struts2.1.6是Apache Struts框架的一个版本,它是基于MVC(Model-View-Controller)设计模式的Java Web应用程序开发框架。这个版本的lib目录包含了运行Struts2应用所需的所有核心类库,这些类库使得开发者能够构建...
以上就是使用Struts2.1.6将图片上传到MySQL数据库的简单项目实现过程。通过这个项目,我们可以学习到Struts2的文件上传、数据库操作以及在页面上显示二进制数据等核心概念。在实际应用中,你可能还需要考虑错误处理...
Struts2.1.6.jar包是Struts2框架的一个版本,它在Java企业级开发(J2EE)中扮演着重要角色。Struts2是一个开源的MVC(Model-View-Controller)框架,用于构建可维护性高、结构清晰且易于测试的Web应用程序。相比于它...
- Struts2的插件机制允许扩展框架功能,如文件上传、RESTful服务、JSON支持等。 总之,Struts2.1.6版本是一个简洁但功能强大的Web开发框架,它通过灵活的配置和强大的插件体系,为开发者提供了高效、便捷的Java ...
使用Struts2.1.6时,开发者需要根据项目需求选择合适的jar包和插件,并结合Struts2的配置文件(通常为struts.xml)进行应用的搭建和定制。此外,Struts2的安全性也是需要注意的一点,比如它曾出现过一个著名的远程...
Struts2.1.6-jar包是Apache Struts框架的一个特定版本,它包含了用于构建MVC(模型-视图-控制器)Web应用程序所需的所有组件。这个版本的Struts是基于Java开发的,旨在提供一个强大、灵活且可扩展的框架,帮助开发者...
- commons-fileupload.jar:文件上传支持。 - commons-lang3.jar:Apache Commons Lang库,提供了一些常用的字符串和对象处理函数。 - servlet-api.jar:Servlet API,用于与Web服务器交互。 - jstl.jar:JSTL标签库...
这些JAR文件共同构成了Struts2.1.6的基础结构,确保了框架的稳定运行和功能实现。在开发基于Struts2的Web应用时,正确导入这些依赖库是至关重要的。开发者需要理解每个库的功能,以便更好地利用Struts2提供的强大...
由于所用到的包比较多,文件上传的最大值被限制在20M,所以只好分成两个资源上传。 struts2.1.6 +spring2.5 +hibernate3.2 整合开发的 jar包 _ 01部分 struts2.1.6 +spring2.5 +hibernate3.2 整合开发的 jar包 _ 02...
7. **Commons FileUpload**:fileupload.jar 支持文件上传功能,Struts 2通过这个库处理用户上传的文件。 8. **Commons Lang**:commons-lang3.jar 提供了Java语言工具类,增强了Java的内置功能,如字符串处理、...
Struts 2.1.6 类库是Apache Struts框架的一个特定版本,它在Java Web开发中被广泛用于实现Model-View-Controller (MVC)架构。SSH整合指的是Struts 2、Spring和Hibernate三个开源框架的集成,它们共同构成了一个强大...
`commons-fileupload-1.2.1.jar`处理文件上传,而`commons-logging-1.1.1.jar`和`freemarker-2.3.13.jar`分别用于日志记录和视图模板。 Spring2.5.6是依赖注入框架,同时也支持AOP(面向切面编程)。`spring-2.5.6....
由于所用到的包比较多,文件上传的最大值被限制在20M,所以只好分成两个资源上传。 struts2.1.6 +spring2.5 +hibernate3.2 整合开发的 jar包 _ 01部分 struts2.1.6 +spring2.5 +hibernate3.2 整合开发的 jar包 _ 02...
Struts2.1.6引入了对文件上传的支持,因此需要commons-fileupload。为了实现全注解开发,还需struts2-convention-plugin和struts2-spring-plugin,后者用于整合Spring。 2. **Spring**:可以选择完整的jar包或精简...
标题 "Ext+struts2.1.6+spring2+hibernate3的jar包" 暗示了这是一个基于Java技术栈的Web应用程序开发框架集合。这个压缩包包含了一系列核心库,主要用于构建一个整合了Ext JS前端框架、Struts 2.1.6后端MVC框架、...
在Struts2.1.6版本中,全注解的开发方式可以显著减少XML配置文件,提高开发效率。`struts2-core`、`xwork`、`ognl`、`freemarker`、`commons-logging`是其核心依赖,`struts2-convention-plugin`则支持注解配置,...
struts-2.1.6-all.rar 马老师视频使用。官网上找不到了,传上来给有需要的同学。 由于上传文件大小限制,这是struts-2.1.6-all.part2.rar,解压还需下载struts-2.1.6-all.part1.rar