异常类 针对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自定义异常的介绍,如何创建自定义异常,如何使用自己创建的自定义异常。
本项目聚焦于如何在Android应用程序中有效地捕获异常,并将其上传到Bugly这一第三方错误追踪平台。通过将异常处理模块化,开发者可以更方便地集成到自己的应用中,实现更高效、更系统的错误管理和分析。 首先,我们...
本教程将详细讲解如何在Vue Quill Editor中自定义图片上传逻辑,将其与阿里云OSS进行集成。 首先,我们需要了解Vue Quill Editor的图片上传机制。Vue Quill Editor提供了`customUpload`选项,允许我们自定义图片...
因此,自定义错误信息是提高用户体验和确保上传流程顺利的关键。 Uploadify的工作原理是通过Flash或HTML5技术实现异步文件上传,允许用户选择多个文件并一次性上传。它支持多种服务器端语言,如PHP、ASP.NET、Java...
`Log`目录可能是用来存放服务器日志的,这些日志记录了上传过程中的错误或异常情况,有助于调试和系统维护。 8. **项目配置**: `.buildpath`和`.project`是Eclipse IDE的项目配置文件,它们包含了关于项目结构和...
通过重写这个处理程序,开发者可以自定义异常处理行为,比如记录异常信息、清理资源或者向服务器发送异常报告。 异常处理不仅涉及捕获异常,还可能包括以下几个关键步骤: 1. **异常捕获**:通过注册异常处理器,...
功能在确认正常工作后才上传。 【适用人群】: 适用于希望学习不同技术领域的小白或进阶学习者。 可作为毕设项目、课程设计、大作业、工程实训或初期项目立项。 【附加价值】: 项目具有较高的学习借鉴价值,也可...
本教程将详细讲解如何在Android中捕获未被捕获的异常(Uncaught Exceptions)以及如何利用Retrofit网络库实现文件上传。 首先,我们来探讨如何在Android中实现异常捕获。Android系统提供了`Thread....
3. **自定义异常捕获** - 开发者可以创建自定义的异常处理器,记录异常信息,包括堆栈跟踪、设备信息、当前运行的线程等,以便更好地理解异常发生的情况。 - 使用`NSSetUncaughtExceptionHandler`注册自定义的异常...
3. **错误处理**:示例中还展示了异常处理机制,通过`try-catch`块捕获可能发生的`IOException`,并在控制台打印堆栈跟踪,以帮助诊断问题。 #### 四、总结 自定义Ant任务是一种强大的工具,可以显著提高构建脚本...
本实例展示了如何在Struts2环境中实现几个关键功能:自定义过滤器、文件上传下载以及用户登录功能。这些功能是任何Web应用程序的基础组成部分,理解和掌握它们对于提升Web开发技能至关重要。 首先,我们来探讨...
总的来说,捕获并上传Android应用中的异常需要创建一个自定义的`Application`,设置全局的`UncaughtExceptionHandler`,并实现异常收集、日志保存以及异常信息上传到服务器的逻辑。通过这种方式,开发者能够及时获取...
本文将深入探讨如何创建一个仿微信图片选择控件,即“Android自定义多图片上传控件”。这个控件允许用户方便地选择多张图片进行上传,类似于微信聊天中的图片选择功能。 首先,我们来理解自定义View的基本概念。在...
"全站URL自定义插件"的安装通常需要在ECSHOP后台进行,用户需按照插件提供的说明文档操作,包括上传文件、激活插件、设置自定义规则等步骤。在配置过程中,用户应谨慎处理,避免因误操作导致网站功能异常。 6. **...
而“Android自定义圆形头像上传”这个主题涉及到的技术点主要包括以下几个方面: 1. **自定义视图**: 在Android中,如果系统提供的组件无法满足我们的需求,我们可以创建自定义视图。这里需要自定义一个圆形图片...
该编辑器允许开发者进行多种自定义操作,其中包括对编辑器工具栏的定制和对图片上传路径的自定义配置。 在一些特定的应用场景下,我们可能不需要使用 Vue-quill-editor 默认提供的所有工具栏功能。例如,某些功能...
Java的头像上传,Java就业班的项目,的一个小知识点,仅供参考
本主题将深入探讨Android全局异常捕获的机制,以及如何将捕获到的异常信息加密后上传到服务器。 首先,让我们了解如何实现全局异常捕获。在Android中,我们可以创建一个`Thread.UncaughtExceptionHandler`的实现类...
基于Spring Boot框架的博客管理系统 内容概要 本项目是一个基于Spring Boot框架的... 自定义异常处理通过自定义异常类处理特定的业务逻辑异常。 响应对象使用统一的响应对象RespBean封装返回结果,便于前端处理。
在Android开发中,确保应用程序的稳定性和用户体验是至关重要的。当程序出现异常时,如果不进行妥善...通过自定义异常处理器,开发者可以更全面地监控应用状态,及时发现并解决问题,从而提升应用的质量和用户满意度。