自定义异常 上载

异常类 针对java的

package com.qxm.excepton;

public class DefineException extends Exception {

private String exception = "";

public DefineException(String exception)
{
this.exception = exception;
}

public String toString()
{
return "This is a " + exception;
}

}

package com.qxm.excepton;

public class FileBigger extends Exception {

private int count;

public FileBigger(int count){
this.count = count;
}

public String toString(){
return "你上传的文件的大小为"+count;
}
}


package com.qxm.struts.action;

import java.io.BufferedOutputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import org.apache.struts.action.Action;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionForward;
import org.apache.struts.action.ActionMapping;
import org.apache.struts.upload.FormFile;

import com.qxm.excepton.FileBigger;
import com.qxm.struts.form.UpLoadForm;

public class UpLoadAction extends Action {

public ActionForward execute(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response) throws FileBigger{

UpLoadForm upLoadForm = (UpLoadForm) form;
FormFile ff = upLoadForm.getFile();
String fileName = ff.getFileName();
String fileType = ff.getContentType();
int fileSize = ff.getFileSize();

System.out.println("fileName: "+fileName);
System.out.println("fileType: "+fileType);
System.out.println("fileSize: "+fileSize);

if(fileSize>=1024*1024*2){
try {
throw new FileBigger(fileSize);
} catch (FileBigger e) {
e.printStackTrace();
System.out.println("文件过大了");
return mapping.findForward("failure");
}
}

try {
byte[] out = ff.getFileData();
BufferedOutputStream bos = new BufferedOutputStream(new FileOutputStream("d:\\"+fileName));
bos.write(out);
bos.flush();
bos.close();
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
return mapping.findForward("success");
}
}


package com.qxm.struts.action;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import org.apache.struts.action.Action;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionForward;
import org.apache.struts.action.ActionMapping;

import com.qxm.excepton.DefineException;
import com.qxm.struts.form.LoginForm;

public class LoginAction extends Action {
public ActionForward execute(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response) {
LoginForm loginForm = (LoginForm) form;
String username = request.getParameter("username");
String password = request.getParameter("password");
try {
if(username.equals("abc")){
throw new DefineException(password);
}
} catch (DefineException e) {
e.printStackTrace();
return new ActionForward("/error.jsp");
}
return mapping.findForward("success");
}
}


file

package com.qxm.struts.form;

import org.apache.struts.action.ActionForm;
import org.apache.struts.upload.FormFile;

public class UpLoadForm extends ActionForm {

private static final long serialVersionUID = -1487216025710423329L;

private FormFile file;

public FormFile getFile() {
return file;
}

public void setFile(FormFile file) {
this.file = file;
}
}

package com.qxm.struts.form;

import javax.servlet.http.HttpServletRequest;

import org.apache.struts.action.ActionErrors;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionMapping;
import org.apache.struts.action.ActionMessage;

public class LoginForm extends ActionForm {

private String username;

private String password;

public ActionErrors validate(ActionMapping mapping,HttpServletRequest request) {

ActionErrors errors = new ActionErrors();

if(username.equals("") || username == null){
errors.add("username",new ActionMessage("login.error.username"));
}
else
if(password.equals("") || password == null){
errors.add("password",new ActionMessage("login.error.password"));
}
else
if(username.length()>=6)
errors.add("username",new ActionMessage("login.error.username.length"));
return errors;
}

public void reset(ActionMapping mapping, HttpServletRequest request) {
this.username = null;
this.password = null;
}

public String getPassword() {
return password;
}

public void setPassword(String password) {
this.password = password;
}

public String getUsername() {
return username;
}

public void setUsername(String username) {
this.username = username;
}
}

# Resources for parameter 'com.qxm.struts.ApplicationResources'
# Project struts_exception

##This is Login
login.error.username="Your username is not null"
login.error.password="Your password is not null"
login.error.username.length="You username's length is less than 7"


<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE struts-config PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 1.2//EN" "http://struts.apache.org/dtds/struts-config_1_2.dtd">

<struts-config>
<data-sources />
<form-beans >
<form-bean name="loginForm" type="com.qxm.struts.form.LoginForm" />
<form-bean name="upLoadForm" type="com.qxm.struts.form.UpLoadForm" />

</form-beans>

<global-exceptions>
</global-exceptions>
<global-forwards />
<action-mappings >
<action
attribute="loginForm"
name="loginForm"
path="/login"
scope="request"
type="com.qxm.struts.action.LoginAction"
input="/login.jsp"
validate="true"
>
<exception
key="login.error"
path="/error.jsp"
type="com.qxm.excepton.DefineException" />
<forward name="success" path="/loginsuccess.jsp" />
</action>
<action
attribute="upLoadForm"
name="upLoadForm"
path="/upLoad"
scope="request"
type="com.qxm.struts.action.UpLoadAction">

<exception key="upload.filebiggest.defineexception" type="com.qxm.excepton.FileBigger"/>

<forward name="success" path="/success.jsp" />
<forward name="failure" path="/error.jsp" />
</action>

</action-mappings>

<message-resources parameter="com.qxm.struts.ApplicationResources" />
</struts-config>


<%@ page language="java" pageEncoding="GB18030"%>
<%@ taglib uri="http://struts.apache.org/tags-bean" prefix="bean"%>
<%@ taglib uri="http://struts.apache.org/tags-html" prefix="html"%>

<html>
<head>
<title>JSP for UpLoadForm form</title>
</head>
<body>
<html:form action="/upLoad" enctype="multipart/form-data" method="post">
file : <html:file property="file"/><html:errors property="file"/><br/>
<html:submit/><html:cancel/>
</html:form>
</body>
</html>
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值