`
qxmcool
  • 浏览: 93632 次
  • 性别: Icon_minigender_1
  • 来自: 石家庄
社区版块
存档分类
最新评论

自定义异常 上载

阅读更多
异常类 针对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>






分享到:
评论

相关推荐

    java 自定义异常

    java自定义异常,java自定义异常的介绍,如何创建自定义异常,如何使用自己创建的自定义异常。

    android开发,异常处理,捕获异常上传到bugly,捕获异常库module

    本项目聚焦于如何在Android应用程序中有效地捕获异常,并将其上传到Bugly这一第三方错误追踪平台。通过将异常处理模块化,开发者可以更方便地集成到自己的应用中,实现更高效、更系统的错误管理和分析。 首先,我们...

    vue-quill-editor 自定义图片上传至OSS -> 相关文件

    本教程将详细讲解如何在Vue Quill Editor中自定义图片上传逻辑,将其与阿里云OSS进行集成。 首先,我们需要了解Vue Quill Editor的图片上传机制。Vue Quill Editor提供了`customUpload`选项,允许我们自定义图片...

    Uploadify插件,自定义错误信息

    因此,自定义错误信息是提高用户体验和确保上传流程顺利的关键。 Uploadify的工作原理是通过Flash或HTML5技术实现异步文件上传,允许用户选择多个文件并一次性上传。它支持多种服务器端语言,如PHP、ASP.NET、Java...

    自定义头像 上传自定义 头像 camera.swf php

    `Log`目录可能是用来存放服务器日志的,这些日志记录了上传过程中的错误或异常情况,有助于调试和系统维护。 8. **项目配置**: `.buildpath`和`.project`是Eclipse IDE的项目配置文件,它们包含了关于项目结构和...

    iOS 异常自定义捕捉handle工具类下载

    通过重写这个处理程序,开发者可以自定义异常处理行为,比如记录异常信息、清理资源或者向服务器发送异常报告。 异常处理不仅涉及捕获异常,还可能包括以下几个关键步骤: 1. **异常捕获**:通过注册异常处理器,...

    Android Crash Helper 安卓APP自定义异常处理器.zip

    功能在确认正常工作后才上传。 【适用人群】: 适用于希望学习不同技术领域的小白或进阶学习者。 可作为毕设项目、课程设计、大作业、工程实训或初期项目立项。 【附加价值】: 项目具有较高的学习借鉴价值,也可...

    Android捕获异常并实现文件的上传

    本教程将详细讲解如何在Android中捕获未被捕获的异常(Uncaught Exceptions)以及如何利用Retrofit网络库实现文件上传。 首先,我们来探讨如何在Android中实现异常捕获。Android系统提供了`Thread....

    iOS开发异常捕获上传至邮箱

    3. **自定义异常捕获** - 开发者可以创建自定义的异常处理器,记录异常信息,包括堆栈跟踪、设备信息、当前运行的线程等,以便更好地理解异常发生的情况。 - 使用`NSSetUncaughtExceptionHandler`注册自定义的异常...

    ant自定义任务

    3. **错误处理**:示例中还展示了异常处理机制,通过`try-catch`块捕获可能发生的`IOException`,并在控制台打印堆栈跟踪,以帮助诊断问题。 #### 四、总结 自定义Ant任务是一种强大的工具,可以显著提高构建脚本...

    struts2实例 自定义过滤器 文件上传下载 登录功能

    本实例展示了如何在Struts2环境中实现几个关键功能:自定义过滤器、文件上传下载以及用户登录功能。这些功能是任何Web应用程序的基础组成部分,理解和掌握它们对于提升Web开发技能至关重要。 首先,我们来探讨...

    android 捕捉异常并上传至服务器的简单实现

    总的来说,捕获并上传Android应用中的异常需要创建一个自定义的`Application`,设置全局的`UncaughtExceptionHandler`,并实现异常收集、日志保存以及异常信息上传到服务器的逻辑。通过这种方式,开发者能够及时获取...

    Android自定义多图片上传控件

    本文将深入探讨如何创建一个仿微信图片选择控件,即“Android自定义多图片上传控件”。这个控件允许用户方便地选择多张图片进行上传,类似于微信聊天中的图片选择功能。 首先,我们来理解自定义View的基本概念。在...

    ECSHOP全站URL自定义插件自定义URL链接自定义目录文件名伪静态

    "全站URL自定义插件"的安装通常需要在ECSHOP后台进行,用户需按照插件提供的说明文档操作,包括上传文件、激活插件、设置自定义规则等步骤。在配置过程中,用户应谨慎处理,避免因误操作导致网站功能异常。 6. **...

    Android自定义圆形头像上传

    而“Android自定义圆形头像上传”这个主题涉及到的技术点主要包括以下几个方面: 1. **自定义视图**: 在Android中,如果系统提供的组件无法满足我们的需求,我们可以创建自定义视图。这里需要自定义一个圆形图片...

    vue-quill-editor 自定义工具栏和自定义图片上传路径操作

    该编辑器允许开发者进行多种自定义操作,其中包括对编辑器工具栏的定制和对图片上传路径的自定义配置。 在一些特定的应用场景下,我们可能不需要使用 Vue-quill-editor 默认提供的所有工具栏功能。例如,某些功能...

    头像上传的基本操作

    Java的头像上传,Java就业班的项目,的一个小知识点,仅供参考

    Android全局异常捕获及上传服务器

    本主题将深入探讨Android全局异常捕获的机制,以及如何将捕获到的异常信息加密后上传到服务器。 首先,让我们了解如何实现全局异常捕获。在Android中,我们可以创建一个`Thread.UncaughtExceptionHandler`的实现类...

    基于Spring Boot框架的博客管理系统54a99d007d430a57e42dedccdd2d0172.zip

    基于Spring Boot框架的博客管理系统 内容概要 本项目是一个基于Spring Boot框架的... 自定义异常处理通过自定义异常类处理特定的业务逻辑异常。 响应对象使用统一的响应对象RespBean封装返回结果,便于前端处理。

    Android全局异常捕获

    在Android开发中,确保应用程序的稳定性和用户体验是至关重要的。当程序出现异常时,如果不进行妥善...通过自定义异常处理器,开发者可以更全面地监控应用状态,及时发现并解决问题,从而提升应用的质量和用户满意度。

Global site tag (gtag.js) - Google Analytics