- 浏览: 334170 次
- 性别:
- 来自: 深圳
文章分类
最新评论
-
zhengqiweiyi:
请问这里的客户端和服务器是指同一台电脑上的吗?
JSP动态显示服务器时间和客户端时间 -
18101095336:
一语道破天机[color=blue][/c ...
restlet使用中遇到的一些问题 -
jjjssh:
废话一大堆,就是没说到少了那个jar包
The hierarchy of the type is inconsistent -
junjielee:
重点还没说啊~~~~~~~~
The hierarchy of the type is inconsistent -
幽绿琵琶:
太棒了
loadrunner 9.5 9.0 8.1下载地址 和license
终于上次的项目告一段落了,可以重新学习Struts了,于是终于吃过饭就开始捣鼓了,因为早就从网上把MAX先生的教程下来了,就看了看教程,着手进行吧
代码都是Max先生的,但是中间却出现了不少的错误,
主要文件有:FileUpload.jsp上传页面
xml 代码
- <%@ page language="java" import="java.util.*" pageEncoding="ISO-8859-1"%>
- <%@ taglib prefix="s" uri="/struts-tags"%>
- <!---->>
- <html xmlns ="http://www.w3.org/1999/xhtml">
- <head>
- <title> Struts 2 File Upload title>
- head >
- <body >
- <s:form action ="fileUpload" method ="POST" enctype ="multipart/form-data" >
- <s:file name ="myFile" label ="Image File"/>
- <s:textfield name ="caption" label ="Caption"/>
- <s:submit/>
- s:form >
- body >
- html >
action处理页面FileUploadAction.java
java 代码
- package tutorial;
- import java.io.BufferedInputStream;
- import java.io.BufferedOutputStream;
- import java.io.File;
- import java.io.FileInputStream;
- import java.io.FileOutputStream;
- import java.io.InputStream;
- import java.io.OutputStream;
- import java.util.Date;
- import org.apache.struts2.ServletActionContext;
- import com.opensymphony.xwork2.ActionSupport;
- public class FileUploadAction extends ActionSupport {
- private static final long serialVersionUID = 572146812454l;
- private static final int BUFFER_SIZE = 16 * 1024;
- private File myFile;
- private String contentType;
- private String fileName;
- private String imageFileName;
- private String caption;
- public void setMyFileContentType(String contentType) {
- this.contentType = contentType;
- }
- public void setMyFileFileName(String fileName) {
- this.fileName = fileName;
- }
- public void setMyFile(File myFile) {
- this.myFile = myFile;
- }
- public String getImageFileName() {
- return imageFileName;
- }
- public String getCaption() {
- return caption;
- }
- public void setCaption(String caption) {
- this.caption = caption;
- }
- private static void copy(File src, File dst) {
- try {
- InputStream in = null;
- OutputStream out = null;
- try {
- in = new BufferedInputStream(new FileInputStream(src),
- BUFFER_SIZE);
- out = new BufferedOutputStream(new FileOutputStream(dst),
- BUFFER_SIZE);
- byte[] buffer = new byte[BUFFER_SIZE];
- while (in.read(buffer) > 0) {
- out.write(buffer);
- }
- } finally {
- if (null != in) {
- in.close();
- }
- if (null != out) {
- out.close();
- }
- }
- } catch (Exception e) {
- e.printStackTrace();
- }
- }
- private static String getExtention(String fileName) {
- int pos = fileName.lastIndexOf(".");
- return fileName.substring(pos);
- }
- @Override
- public String execute() {
- imageFileName = new Date().getTime() + getExtention(fileName);
- File imageFile = new File(ServletActionContext.getServletContext()
- .getRealPath("/UploadImages")
- + "/" + imageFileName);
- copy(myFile, imageFile);
- return SUCCESS;
- }
- }
ShowUpload.jsp上传成功显示页面
xml 代码
- <%@ page language="java" import="java.util.*" pageEncoding="ISO-8859-1"%>
- <%@ taglib prefix="s" uri="/struts-tags"%>
- <! DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd" >
- <html xmlns ="http://www.w3.org/1999/xhtml" >
- <head>
- <title> Struts 2 File Upload </title >
- </head>
- <body>
- <div style="padding: 3px; border: solid 1px #cccccc; text-align: center" >
- <img src='UploadImages/<s:property value ="imageFileName" />'/>
- <br/>
- <s:property value ="caption"/>
- </div>
- </body>
- </html>
struts.xml配置文件
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 ="fileUploadDemo" extends ="struts-default" >
- <action name ="fileUpload" class ="tutorial.FileUploadAction" >
- <interceptor-ref name ="fileUploadStack" />
- <result name ="success" >/ShowUpload.jsp</result >
- </action>
- </package >
- </struts >
web.xml
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" >
- <display-name > Struts 2 Fileupload </display-name >
- <filter >
- <filter-name > struts-cleanup </filter-name >
- <filter-class >
- org.apache.struts2.dispatcher.ActionContextCleanUp
- </filter-class >
- </filter >
- <filter >
- <filter-name > struts2 </filter-name >
- <filter-class >
- org.apache.struts2.dispatcher.FilterDispatcher
- </filter-class >
- </filter >
- <filter-mapping >
- <filter-name > struts-cleanup </filter-name >
- <url-pattern > /* </url-pattern >
- </filter-mapping >
- <filter-mapping >
- <filter-name > struts2 </filter-name >
- <url-pattern > /* </url-pattern >
- </filter-mapping >
- <welcome-file-list >
- <welcome-file > index.html </welcome-file >
- </welcome-file-list >
- </web-app >
在进行调试的时候发现我的运气是相当的好 啊,因为别人提出的错误我都遇到了,比如如下:
java 代码
- Servlet.service() for servlet SimpleUploader threw exception
- java.lang.RuntimeException: Unable to load bean org.apache.struts2.dispatcher.multipart.MultiPartRequest (jakarta) - [unknown location]
我在网上搜了下,发现有人这样解决的:
xml 代码
- 只要不让struts2拦截处理上传事件,就应该没问题了。
- 修改web.xml,把原来的
- <filter-mapping>
- <filter-name>struts</filter-name>
- <url-pattern>/*</url-pattern>
- </filter-mapping>
- 改为
- <filter-mapping>
- <filter-name>struts</filter-name>
- <url-pattern>*.action</url-pattern>
- </filter-mapping>
- 而上传页面调用时直接用文件名调用(如upload.jsp)。struts2只处理 *.action 的请求。
但是我用了一下出现了更麻烦的错误,于是又找了下是因为我的包所用版本太低的原因于是到Apache上下载了最新的包删除旧的导入新的刷新,打开tomcat服务,输入地址,又出现了一个错误
java 代码
- javax.servlet.ServletException: String index out of range: -1
- org.apache.struts2.dispatcher.Dispatcher.serviceAction(Dispatcher.java:518)
- org.apache.struts2.dispatcher.FilterDispatcher.doFilter(FilterDispatcher.java:421)
- org.apache.struts2.dispatcher.ActionContextCleanUp.doFilter(ActionContextCleanUp.java:99)
因为我的代码是从max先生的文章直接复制粘贴的,开始有很多多余的空格,我就一个个删除的,这时我想是不是空格的问题,于是又检查一遍代码,把空格全部删除,ok..
看来代码是要自己敲的,还是有好处的。】
这里记下,提醒自己,呵呵
高手就不用看了,因为我们是菜鸟,呵呵
评论
4 楼
shappy1978
2009-02-26
改成<url-pattern>*.action</url-pattern> 又出现这样的错误,
java.lang.ClassCastException: org.apache.catalina.connector.RequestFacade
,而且上一个项目用了<url-pattern>/*</url-pattern>一样可以正常上传(jspsmartupload)
java.lang.ClassCastException: org.apache.catalina.connector.RequestFacade
,而且上一个项目用了<url-pattern>/*</url-pattern>一样可以正常上传(jspsmartupload)
3 楼
w5644266
2008-12-12
我的版本 比你的还高,我不知道怎么也报
java.lang.RuntimeException: Unable to load bean org.apache.struts2.dispatcher.multipart.MultiPartRequest (jakarta) - [unknown location]
java.lang.RuntimeException: Unable to load bean org.apache.struts2.dispatcher.multipart.MultiPartRequest (jakarta) - [unknown location]
2 楼
jacky_ustb
2008-11-21
不错
private File myFile; private String contentType; private String imageFileName; private String caption;
1 楼
black.angel
2008-10-31
空格都成了错误了,楼主有才。哈哈。太粗心了吧?
发表评论
-
ConcurrentHashMap的高性能
2012-07-17 18:11 1482ConcurrentHashMap 是一个并发散列映射表 ... -
Hash散列及冲突解决
2012-07-17 17:56 2737先看看英文的维基百科上的解释: A hash func ... -
调用谷歌接口实现基站转经纬度
2012-07-02 15:34 6573Cell2GPSUtil.java,最近项目中用到的,记录一下 ... -
JSP动态显示服务器时间和客户端时间
2012-05-22 16:29 6428server-time.jsp内容如下: <%@ pa ... -
使用Spring3.0的AOP结合log4j实现接口方法执行时间记录
2012-05-18 14:30 6468项目使用RPC提供的内部服务,需要监控每个接口方法的调用情况以 ... -
禁止浏览器缓存当前文档内容
2011-06-08 17:21 1647IE8的设置中有这么一个选项: 默认是“自动 ... -
java正则匹配微博@和话题#话题#
2011-05-26 11:46 7953/** * 微博内容中的at正则表达式 ... -
restlet使用中遇到的一些问题
2011-02-22 17:37 18790x20 is not a legal NCName cha ... -
spring 2.5.6和hibernate3.2.2集成(5)
2010-02-08 15:48 1981这一次说一下hibernate tools这个工具的使用,OR ... -
spring 2.5.6和hibernate3.2.2集成(4)
2010-02-04 16:41 2770这个列子的来源是springside下的miniweb项目,算 ... -
spring 2.5.6和hibernate3.2.2集成(3)
2010-02-04 16:10 1772最近看了一下springside,学习很多,从思想到编码风格, ... -
spring 2.5.6和hibernate3.2.2集成(2)
2010-02-04 15:52 1349上一篇文章写了如何使用spring的注解,这一篇记录一下和hi ... -
spring 2.5.6和hibernate3.2.2集成(1)
2010-02-04 15:33 1284spring注解的使用,这个例子来源于网上,我也不知道原创是哪 ... -
The project was not built since the source file could not be read
2010-01-25 10:25 3812包缺失 重新加入JRE System Library 类 ... -
The hierarchy of the type is inconsistent
2010-01-22 10:02 14843这两天在尝试spring2.5.6和hibernate3.2的 ... -
activemq-5.3集成spring2.5以及quartz的调用
2010-01-06 10:42 1505前几天做的demo,记录一下,希望对大家有帮助,内容均参考网上 ... -
Dom4j的使用,存着以后看
2008-12-05 10:21 1104Dom4j的使用(全而好的文 ... -
JVM中的堆和栈
2007-12-29 16:19 2243JVM是基于堆栈的虚拟机. ... -
struts2.0使用时的一个奇怪的问题
2007-10-21 22:31 1078近来struts2.0很流行哦,于是下了更流行的max大侠的教 ... -
DAO+Factory+Hibernate的学习。。
2007-09-30 16:48 3039看了很多的书了,想着实践一下,就参考了书上的例子写了一点,呵呵 ...
相关推荐
01 为Struts 2.0做好准备 02 常用的Struts 2.0的标志(Tag) 03 Struts 2.0的Action讲解...09 在Struts 2中实现文件上传 10 在Struts 2中实现CRUD 11 Struts 2中的OGNL 12 trus 2的新表单标志的使用 13 Struts 2与AJAX
Struts 2.0系列(MAX),pdf格式,全方位介绍struts2: 常用的Struts 2.0的标志(Tag)介绍 ...在Struts 2中实现文件上传 在Struts 2中实现CRUD Struts 2中的OGNL Strus 2的新表单标志的使用 Struts 2与AJAX
JavaEE源代码 Struts2.0JavaEE源代码 Struts2.0JavaEE源代码 Struts2.0JavaEE源代码 Struts2.0JavaEE源代码 Struts2.0JavaEE源代码 Struts2.0JavaEE源代码 Struts2.0JavaEE源代码 Struts2.0JavaEE源代码 Struts2.0...
Struts2.0是Java Web开发中的一个强大框架,它基于Model-View-Controller(MVC)设计模式,为开发者提供了构建可维护性高、结构清晰的Web应用程序的工具。这个"Struts2.0视频教程+struts2.0中文教程"包含的资源旨在...
Struts2.0是Java Web开发领域中的一款流行框架,它是Struts1.x与WebWork框架的结合体,继承了两者的优点并进行了创新。在Struts2.0中,核心概念之一是Action,它被设计为一个简单的POJO(Plain Old Java Object),...
Struts2.0是Java Web开发中的一个热门框架,它基于Model-View-Controller(MVC)设计模式,为开发者提供了构建动态Web应用程序的强大工具。API文档是理解任何框架核心功能的关键,对于Struts2.0也不例外。让我们深入...
Struts2.0是一款强大的Java Web框架,它在MVC(Model-View-Controller)设计模式的基础上,提供了灵活且强大的架构来构建企业级的Web应用程序。这个“Struts2.0 Jar包”包含了所有必要的库文件,使得开发者可以便捷...
Struts 2.0 是一个基于 Model-View-Controller (MVC) 设计模式的Java Web应用程序框架。它并非Struts 1的直接升级,而是源自WebWork框架,提供了更强大的特性和灵活性。Struts 2的核心是Action,它是业务逻辑处理的...
struts2.0的数据校验框架struts2.0的数据校验框架struts2.0的数据校验框架struts2.0的数据校验框架
Struts2.0是Java Web开发中非常重要的一个MVC框架,它是在原有的Struts1.x基础上进行改进和发展而来的。这个"三大框架中文文档中的struts2.0开发手册"为程序员提供了一份详尽的参考资料,帮助他们理解和掌握Struts...
5. **插件架构**:Struts2.0具有丰富的插件支持,如文件上传、日期时间选择等,这些插件可以轻松地扩展框架功能。 SSH集成步骤: 1. **Spring**:Spring提供依赖注入(DI)和面向切面编程(AOP),负责管理和协调...
### Struts 2.0 详细配置解析 #### 一、Struts 2.0 简介 Struts 2.0 是一个基于 Java 的开源框架,用于开发 Web 应用程序。它继承了 Struts 1.x 的优点,并在架构上进行了改进,更加灵活且易于扩展。Struts 2.0 ...
Struts 2.0是Java Web开发中的一个关键框架,它是Apache软件基金会的顶级项目,融合了原本独立的Struts 1.x和WebWork框架的优势,为开发者提供了一个强大、灵活且可扩展的MVC(Model-View-Controller)架构。...
Struts2.0是Java Web开发中一个非常重要的框架,它是Apache软件基金会的Jakarta项目下的一个开源产品,主要用于构建MVC(Model-View-Controller)模式的应用程序。本入门案例将带你逐步了解如何使用Struts2.0来创建...
Struts2.0是Java Web开发中的一个强大框架,它基于Model-View-Controller(MVC)设计模式,为开发者提供了构建可维护性高、结构清晰的Web应用程序的工具。这个"Struts2.0学习系列"旨在帮助初学者及进阶者深入理解并...
Struts2.0 是一个非常流行的Java Web框架,它基于MVC(Model-View-Controller)设计模式,用于构建高效、可维护的企业级应用程序。这个压缩包包含了Struts2.0的核心jar文件以及可能的源代码,使得开发者可以直接查看...
文件上传是Web应用中的常见需求,Struts2.0提供了完善的文件上传解决方案。它利用MultipartResolver接口处理多部分请求,支持单文件和多文件上传。开发者只需简单配置,即可轻松实现文件上传功能。 十、Struts2.0中...
Struts 2.0是Java Web开发中一个非常重要的MVC框架,它为构建基于J2EE的企业级应用提供了强大的支持。本指南将深入探讨Struts 2.0的核心概念、设计模式、配置以及实际应用中的最佳实践。下面,我们将详细讲解Struts ...
Struts2.0是Java Web开发中一个非常重要的框架,它基于MVC(Model-View-Controller)设计模式,提供了一种结构化的解决方案,用于构建更健壮、可维护的Web应用程序。本教程将详细讲解如何在Myeclipse集成开发环境中...