继上一次利用Servlet实现图片上传,这次利用基于MVC的Struts框架,封装了Servlet并简化了JSP页面跳转。

JSP上传页面
上传一定要为form加上enctype="multipart/form-data",表示提交的数据时二进制的
并且必须是method="post"
<%@ page language="java" contentType="text/html; charset=utf-8" pageEncoding="utf-8"%> <%@taglib prefix="s" uri="/struts-tags"%> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> </head> <body> <s:form action="login" method="post" enctype="multipart/form-data"> <s:file name="img" label="头像" /> <s:submit value="上传" /> </s:form> <!-- <form action="login" method="post" enctype="multipart/form-data"> 头像:<input type="file" name="img"></input> <input type="submit" values="上传"></input> </form> --> </body> </html>
struts.xml配置(maven项目放在resources)
<?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>
<constant name="struts.multipart.maxSize" value="20480000"/> 设置文件上传最大值
<package name="struts2" extends="struts-default">
<action name="login" class="com.controller.TestStruts" method="logintest">
<result name="fail">/fail.jsp</result>
<result name="success">/success.jsp</result>
</action>
</package>
</struts>
TestStruts.java控制类
一定要提供三个属性
File img; String imgFileName; String imgContentType;
然后为这3个属性提供getter setter方法
package com.controller;
import java.io.File;
import java.io.IOException;
import java.util.Map;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.apache.commons.io.FileUtils;
import org.apache.struts2.ServletActionContext;
import com.opensymphony.xwork2.ActionContext;
import com.opensymphony.xwork2.ActionSupport;
public class TestStruts extends ActionSupport{
private File img;
private String imgFileName;
private String imgContentType;
public File getImg(){
return img;
}
public String getimgFileName(){
return imgFileName;
}
public String getImgContentType(){
return imgContentType;
}
public void setImg(File img){
this.img = img;
}
public void setImgFileName(String imgFileName){
this.imgFileName = imgFileName;
}
public void setImgFileContentType(String imgContentType){
this.imgContentType = imgContentType;
}
@SuppressWarnings("unchecked")
public String logintest() throws IOException{
Map p = ActionContext.getContext().getSession();
p.put("imgFileName", imgFileName);
File f = new File("D://imagebystruts");
if (!f.exists()) {
f.mkdir();
}
FileUtils.copyFile(img, new File(f, imgFileName));
return "success";
}
}
Tomcat中server.xml文件配置虚拟路径
<Context docBase="D:/imagebystruts" path="/imagebystruts" reloadable="true"/> <Context docBase="SSHTest" path="/SSHTest" reloadable="true" source="org.eclipse.jst.j2ee.server:SSHTest"/></Host>
success.jsp显示图片
<%@ page language="java" contentType="text/html; charset=utf-8"
pageEncoding="utf-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<%@ taglib prefix="s" uri="/struts-tags" %>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>success</title>
</head>
<body>
<h1>成功</h1>
<body>
<img src="/imagebystruts/${imgFileName}">
</body>
</body>
</html>
总结
以上所述是小编给大家介绍的Java Struts图片上传至指定文件夹并显示图片功能,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对网站的支持!
# 上传图片到指定文件夹
# java
# struts
# Java如何导出数据库中的所有数据表到指定文件夹
# Java如何通过File类方法删除指定文件夹中的全部文件
# Java上传文件到服务器指定文件夹实现过程图解
# Java自动读取指定文件夹下所有文件的方法
# Java实现从jar包中读取指定文件的方法
# Java如何向指定文件操作一段内容(增加
# 删除均可使用本方法)
# 上传
# 小编
# 放在
# 在此
# 给大家
# 跳转
# 装了
# 所述
# 给我留言
# 感谢大家
# 图片上传
# 传至
# 文件上传
# 疑问请
# 有任何
# 简化了
# values
# maven
# xml
# resources
相关文章:
微网站制作教程,我微信里的网站怎么才能复制到浏览器里?
如何通过商城免费建站系统源码自定义网站主题?
如何在Golang中使用replace替换模块_指定本地或远程路径
一键网站制作软件,义乌购一件代发流程?
如何选择高效便捷的WAP商城建站系统?
微信网站制作公司有哪些,民生银行办理公司开户怎么在微信网页上查询进度?
家具网站制作软件,家具厂怎么跑业务?
C++ static_cast和dynamic_cast区别_C++静态转换与动态类型安全转换
建站为何优先选择香港服务器?
香港服务器网站推广:SEO优化与外贸独立站搭建策略
北京的网站制作公司有哪些,哪个视频网站最好?
C++如何将C风格字符串(char*)转换为std::string?(代码示例)
代刷网站制作软件,别人代刷火车票靠谱吗?
如何在Golang中使用encoding/gob序列化对象_存储和传输数据
可靠的网站设计制作软件,做网站设计需要什么样的电脑配置?
宝塔建站无法访问?如何排查配置与端口问题?
子杰智能建站系统|零代码开发与AI生成SEO优化指南
网页设计与网站制作内容,怎样注册网站?
建站168自助建站系统:快速模板定制与SEO优化指南
如何高效生成建站之星成品网站源码?
视频网站app制作软件,有什么好的视频聊天网站或者软件?
Android滚轮选择时间控件使用详解
建站之星五站合一营销型网站搭建攻略,流量入口全覆盖优化指南
国美网站制作流程,国美电器蒸汽鍋怎么用官方网站?
如何撰写建站申请书?关键要点有哪些?
如何将凡科建站内容保存为本地文件?
C#怎么创建控制台应用 C# Console App项目创建方法
简单实现Android文件上传
企业网站制作公司网页,推荐几家专业的天津网站制作公司?
潮流网站制作头像软件下载,适合母子的网名有哪些?
微信h5制作网站有哪些,免费微信H5页面制作工具?
制作宣传网站的软件,小红书可以宣传网站吗?
如何在景安服务器上快速搭建个人网站?
如何批量查询域名的建站时间记录?
如何通过NAT技术实现内网高效建站?
香港服务器建站指南:外贸独立站搭建与跨境电商配置流程
利用JavaScript实现拖拽改变元素大小
山东网站制作公司有哪些,山东大源集团官网?
详解jQuery停止动画——stop()方法的使用
如何快速登录WAP自助建站平台?
动图在线制作网站有哪些,滑动动图图集怎么做?
音乐网站服务器如何优化API响应速度?
郑州企业网站制作公司,郑州招聘网站有哪些?
个人网站制作流程图片大全,个人网站如何注销?
如何在宝塔面板创建新站点?
娃派WAP自助建站:免费模板+移动优化,快速打造专业网站
最好的网站制作公司,网购哪个网站口碑最好,推荐几个?谢谢?
怎么将XML数据可视化 D3.js加载XML
香港服务器租用费用高吗?如何避免常见误区?
网站制作哪家好,cc、.co、.cm哪个域名更适合做网站?
*请认真填写需求信息,我们会在24小时内与您取得联系。