Struts2入门:文件上传与配置详解

需积分: 0 0 下载量 134 浏览量 更新于2024-08-18 收藏 271KB PPT 举报
在Struts2入门教程中,主要讲解了如何实现文件上传功能的具体步骤,这对于理解Struts2框架的工作原理以及在实际项目中处理用户上传文件的操作非常有帮助。首先,我们需要了解Struts2的基本配置,它是在Struts1和WebWork的基础上构建的,可以从Apache官网下载相关jar包,如基础配置的库。 在Web应用的部署环境中,通常会使用MyEclipse作为IDE,Tomcat 6.0作为Servlet容器。在web.xml配置文件中,添加`<filter>`和`<filter-mapping>`标签来启用Struts2的FilterDispatcher,确保所有的URL请求都经过Struts2的处理。 在src目录下的struts.xml文件是Struts2的核心配置文件,其中定义了`<package>`元素,指定一个名为"struts2"的包,并继承自"struts-default"包。包内包含`<action>`元素,如`LoginAction`,用于处理特定的HTTP请求。每个`<action>`都有自己的`<result>`标签,如`input`用于处理验证失败时重定向到的页面,而`success`则用于执行成功后的跳转。 当涉及到文件上传时,代码展示了如何获取文件上传的根路径,例如`ServletActionContext.getRequest().getRealPath("/upload")`,这是上传文件的存储位置。然后,通过for循环遍历上传的文件,使用`FileInputStream`读取文件内容,`FileOutputStream`写入到服务器指定的`destFile`。这里的关键在于使用`is.read(buffer)`逐块读取文件并写入缓冲区,最后关闭流以释放资源。 这部分内容不仅展示了如何在Struts2中处理文件上传,还涉及到了Struts2的Action、结果管理和文件I/O操作,这些都是初学者在学习Struts2时必须掌握的基础技能。通过实践这些步骤,开发者能够更好地理解和使用Struts2框架,提高项目的可维护性和用户体验。

192.168.85.1 - - [26/Jun/2022:06:07:07 -0400] "POST /struts2-showcase/index.action HTTP/1.1" 500 24 192.168.85.1 - - [26/Jun/2022:06:07:11 -0400] "POST /struts2-showcase/index.action HTTP/1.1" 500 24 192.168.85.1 - - [26/Jun/2022:06:07:11 -0400] "POST /struts2-showcase/index.action HTTP/1.1" 500 24 192.168.85.1 - - [26/Jun/2022:06:07:11 -0400] "POST /struts2-showcase/index.action HTTP/1.1" 200 12925 192.168.85.1 - - [26/Jun/2022:06:07:11 -0400] "POST /struts2-showcase/index.action HTTP/1.1" 200 12925 192.168.85.1 - - [26/Jun/2022:06:07:11 -0400] "POST /struts2-showcase/index.action HTTP/1.1" 200 12925 192.168.85.1 - - [26/Jun/2022:06:07:11 -0400] "POST /struts2-showcase/index.action HTTP/1.1" 200 14 192.168.85.1 - - [26/Jun/2022:06:08:06 -0400] "POST /struts2-showcase/index.action HTTP/1.1" 500 15 192.168.85.1 - - [26/Jun/2022:06:08:16 -0400] "POST /struts2-showcase/index.action HTTP/1.1" 500 1227 192.168.85.1 - - [26/Jun/2022:06:10:15 -0400] "POST /struts2-showcase/index.action HTTP/1.1" 500 79 192.168.85.1 - - [26/Jun/2022:06:13:25 -0400] "POST /struts2-showcase/index.action HTTP/1.1" 404 752 192.168.85.1 - - [26/Jun/2022:06:16:42 -0400] "POST /struts2-showcase/index.action HTTP/1.1" 500 35 192.168.85.1 - - [26/Jun/2022:06:16:57 -0400] "GET //struts2-showcase/hhh.jsp HTTP/1.1" 403 642 192.168.85.1 - - [26/Jun/2022:06:18:55 -0400] "POST /struts2-showcase/index.action HTTP/1.1" 500 35 192.168.85.1 - - [26/Jun/2022:06:19:02 -0400] "POST /struts2-showcase/index.action HTTP/1.1" 500 35 192.168.85.1 - - [26/Jun/2022:06:19:09 -0400] "GET //struts2-showcase/hhh1.jsp HTTP/1.1" 403 642 192.168.85.1 - - [26/Jun/2022:06:19:34 -0400] "POST /struts2-showcase/index.action HTTP/1.1" 500 400 192.168.85.1 - - [26/Jun/2022:06:20:37 -0400] "POST /struts2-showcase/index.action HTTP/1.1" 500 5 192.168.85.1 - - [26/Jun/2022:06:20:42 -0400] "GET //struts2-showcase/hhh1.jsp HTTP/1.1" 403 642 192.168.85.1 - - [26/Jun/2022:06:20:46 -0400] "GET //struts2-showcase/hhh.jsp HTTP/1.1" 403 642 192.168.85.1 - - [26/Jun/2022:06:20:51 -0400] "GET /struts2-showcase/hhh.jsp HTTP/1.1" 403 642

2023-07-12 上传