Struts 2 파일 업로드 기능 인 스 턴 스 분석 실현
myeclipse 아래 에서 항목->MyEclipse->Project Facets->install Apache Struts 2 를 우 클릭 합 니 다.
직접 만 들 려 면 struts 2 패 키 지 를 다운로드 하고 struts.xml 설정 파일 을 써 야 합 니 다.
웹.xml 파일 설정 은 다음 과 같 습 니 다.
<filter>
<filter-name>struts2</filter-name>
<filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>struts2</filter-name>
<url-pattern>*.action</url-pattern>
</filter-mapping>
파일 업로드1.프론트 페이지:
업로드 페이지:
<body>
<form action="upload.action" method="post" enctype="multipart/form-data">
<input type="file" name="upload"/>
<input type="submit" value=" "/>
<br>
${result}
</form>
</body>
input name 속성 은 배경 이름과 일치 합 니 다.업로드 실패 페이지:
<body>
<h2> </h2>
<s:fielderror></s:fielderror>
</body>
필요:
<%@ taglib uri="/struts-tags" prefix="s"%>
2.백 스테이지 액 션주요 속성 upload,uploadContentType,uploadFileName.
package com.yf.action;
import java.io.File;
import org.apache.commons.io.FileUtils;
import org.apache.struts2.ServletActionContext;
import com.opensymphony.xwork2.ActionSupport;
public class UploadAction extends ActionSupport{
private File upload;
private String uploadContentType;
private String uploadFileName;
private String result;
public File getUoload() {
return upload;
}
public void setUpload(File upload) {
this.upload = upload;
}
public String getUploadContentType() {
return uploadContentType;
}
public void setUploadContentType(String uploadContentType) {
this.uploadContentType = uploadContentType;
}
public String getUploadFileName() {
return uploadFileName;
}
public void setUploadFileName(String uploadFileName) {
this.uploadFileName = uploadFileName;
}
public String getResult() {
return result;
}
public void setResult(String result) {
this.result = result;
}
@Override
public String execute() throws Exception {
String path = ServletActionContext.getServletContext().getRealPath("/images");
File file = new File(path);
if(!file.exists()){
file.mkdir();
}
System.out.println(upload);
FileUtils.copyFile(upload, new File(file,uploadFileName));
result = " ";
return SUCCESS;
}
}
3.struts.xml 파일 설정action 설정 및 차단기 설정 으로 업로드 파일 의 형식 과 크기 를 제한 합 니 다.
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.1//EN" "http://struts.apache.org/dtds/struts-2.1.dtd">
<struts>
<constant name="struts.enable.DynamicMethodInvocation" value="false"/>
<constant name="struts.devMode" value="true"/>
<constant name="struts.multipart.saveDir" value="/tmp"/>
<constant name="struts.custom.i18n.resources" value="app"></constant>
<package name="default" namespace="/" extends="struts-default">
<action name="upload" class="com.yf.action.UploadAction">
<result>/index.jsp</result>
<result name="input">/error.jsp</result>
<!-- -->
<interceptor-ref name="fileUpload">
<param name="allowedTypes">image/bmp,image/x-png,image/gif,image/jpeg</param>
<param name="maximumSize">2M</param>
</interceptor-ref>
<interceptor-ref name="defaultStack"></interceptor-ref>
</action>
</package>
</struts>
4.새 속성 파일파일 업로드 실패 정 보 를 프론트 에 표시 하고 오류 정 보 를 처리 합 니 다.
파일 내용 은 다음 과 같 습 니 다.
struts.messages.error.file.too/large=\u4E0A\u4F20\u6587\u4EF6\u592A\u5927\u4E86\uFF01
struts.messages.error.content.type.not.allowed=\u4E0A\u4F20\u6587\u4EF6\u7C7B\u578B\u4E0D\u7B26\uFF01
추가:Name:struts.messages.error.file.too/large
value:파일 업로드 가 너무 커 요!
Name : struts.messages.error.content.type.not.allowed
value:업로드 파일 형식 이 맞지 않 습 니 다!
실행 결 과 는 다음 과 같 습 니 다.
jpg 그림 을 선택 하 십시오.크기 가 2M 을 초과 하지 않 습 니 다.실행 후
그림 이 아 닌 파일 선택:
파일 을 대량으로 업로드 하려 면 배경 upload,uploadContentType,uploadFileName 을 모두 List 로 바 꾸 고 업로드 파일 을 반복 적 으로 읽 어 하 드 디스크 에 저장 하 며 프론트 에 input 을 추가 합 니 다.name 속성 이 일치 합 니 다.
위 에서 말 한 것 은 편집장 이 여러분 에 게 소개 한 Struts 2 가 파일 업로드 기능 의 실례 해석 을 실현 하 는 것 입 니 다.여러분 에 게 도움 이 되 기 를 바 랍 니 다.궁금 한 점 이 있 으 시 면 저 에 게 메 시 지 를 남 겨 주세요.편집장 은 제때에 답 해 드 리 겠 습 니 다!
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
java의 Struts2 파일 업로드 및 다운로드 예파일 업로드 Struts 응용 프로그램에서 File Upload 차단기와 Jakarta Commons File Upload 구성 요소로 파일을 업로드할 수 있습니다. Jsp 페이지의 파일 업로드 폼에 파일 탭을 사용...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.