- 浏览: 43922 次
- 性别:
- 来自: 北京
-
最新评论
-
yxl2005play:
不支持多个文件(多个<input type=" ...
JAVA上传文件进度条的实现 -
clarck_913:
您好,我看了你附件里的代码
有点疑问。
第一,web.xm ...
JAVA上传文件进度条的实现
下午搞了一下Struts处理异常的框架,不错,确实很好用,可以省很多事,闲话暂且不表,进入正题
首先新建一个项目,然后要做的第一步当然是——添加Struts支持啦~~呵呵。
找到struts-config.xml文件,如果想配置全局异常处理,则需要在<global-exceptions></global-exceptions>之间设置,如果只想单独为某个Action设置其异常处理,则将设置写在<action></action>之间即可,具体配置很简单,代码如下:


<!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />--><exception
key="unLogin"<!--对应资源文件中的key,用于错误显示-->
path="/index.jsp"<!--出错了程序会跳到哪里去

type="java.lang.Exception" <!--捕获异常的类型-->/>
接下来测试一下吧,写一个登陆页面,提交到某个action里面,当用户名为空时抛出Exception,当然你也可以编写自己的Exception类,然后在配置文件中作相应的修改就可以了。
index.jsp代码如下:


<!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />--><%@ page language="java" pageEncoding="ISO-8859-1"%>
<%@ taglib uri="http://struts.apache.org/tags-bean" prefix="bean" %>
<%@ taglib uri="http://struts.apache.org/tags-html" prefix="html" %>
<%@ taglib uri="http://struts.apache.org/tags-logic" prefix="logic" %>
<%@ taglib uri="http://struts.apache.org/tags-tiles" prefix="tiles" %>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html:html lang="true">
<head>
<html:base />
<title>index.jsp</title>
</head>
<body><html:errors/>
<html:form action="/login" method="post" focus="login">
<table border="0">
<tr>
<td>Login:</td>
<td><html:text property="username" /></td>
</tr>
<tr>
<td>Password:</td>
<td><html:password property="password" /></td>
</tr>
<tr>
<td colspan="2" align="center"><html:submit /></td>
</tr>
</table>
</html:form>
</body>
</html:html>
loginAction代码如下:


<!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />-->/*
* Generated by MyEclipse Struts
* Template path: templates/java/JavaClass.vtl
*/
package com.lc.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.lc.LoginForm;
/**
* MyEclipse Struts
* Creation date: 07-30-2008
*
* XDoclet definition:
* @struts.action path="/login" name="loginForm" input="/form/login.jsp" scope="request" validate="true"
* @struts.action-exception key="unLogin" path="/index.jsp"
*/
public class LoginAction extends Action {
/*
* Generated Methods
*/
/**
* Method execute
* @param mapping
* @param form
* @param request
* @param response
* @return ActionForward
* @throws Exception
*/
public ActionForward execute(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response) throws Exception {
LoginForm loginForm = (LoginForm) form;// TODO Auto-generated method stub
if(loginForm.getUsername()==null||loginForm.getUsername().equals("")){
throw new Exception();
}
return mapping.findForward("login");
}
}
接下来测试一下吧,异常被捕获了,login.do被重定向到了index.jsp中去,测试结束。
虽然这是一个很小的例子,但是足以感觉到运用到实际中可以省很多事,项目中异常的处理不再需要无数个try/catch块组合,只需要在xml文件中进行简单设置即可。
发表评论
-
Hibernate主键生成方式(转)
2008-01-29 22:05 5431) assigned 主键由外部程序负责生成,无需Hibe ... -
实现JSP页面自动跳转
2008-01-30 22:01 853HTML里增加: <meta http-e ... -
JAVA中的接口和抽象类(转)
2008-03-11 17:31 652在面向对象的概念中, ... -
JAVA错误处理大集合
2008-03-15 17:19 7820、 需要标识符 a) 不在 ... -
强!!!
2008-04-01 17:51 690Java视频教程 孙鑫Java无难事 (全12CD) http ... -
字符转换 dos 命令 JDK自带的native2ascii工具完全揭密
2008-07-14 17:27 856背景:在做Java开发的时 ... -
Acegi安全系统的配置
2008-07-17 00:42 686Acegi 的配置看起来非常复杂,但事实上在实际项目的安全应用 ... -
ACEGI配置总结(1)
2008-07-18 18:39 740Acegi配置总结 1、 在web.xml中配置conte ... -
利用commons upload+ffmpeg+mencoder完成视频的上传与转换
2008-07-31 16:41 702前一段时间朱哥一直在搞视频转换这个东东,我也一直很有 ... -
关于Struts的Token
2008-08-01 12:07 688请求有效性处理,使用令牌可以有效的防止重复提交。 protec ... -
六大代码问题检验你的JAVA知识(转)
2008-08-01 15:57 741你觉得自己是一个Java专家吗?是否肯定自己已经全面掌握了J ... -
Spring Security连接数据库查询实例
2008-08-04 00:46 902经过若干天断断续续地研究,终于做出了第一个sprin ... -
JAVA md5、SHA加密类
2008-08-04 20:25 872Code<!--<br /><br ... -
Hibernate获取数据方式与缓存使用
2008-08-16 11:03 671Hibernate获取数据的方式有不同的几种,其与缓存结合使用 ... -
使用AjaxTags实现自动完成
2008-09-22 09:42 1123最近搞的一个通讯录想要加一个Ajax的自动完成功能, ... -
Struts2&Jquery 新闻发布
2009-03-16 17:48 1010又一个新闻发布......比以前的更加人性化了,用到了Stru ... -
JAVA实现精确的加减乘除
2009-05-20 17:13 1142package lc.util; import java.ma ... -
JAVA上传文件进度条的实现
2009-08-03 19:46 5203很久不在这里发帖子了,最近在家闲来无事,想到转视频的那东西又要 ... -
利用commonsfileupload+ffmpeg+mencoder完成视频的上传与转换(2)
2009-08-04 17:45 955这两天完善了一下视频 ... -
利用commons upload+ffmpeg+mencoder完成视频的上传与转换
2008-07-31 16:41 921前一段时间朱哥一直在搞视频转换这个东东,我也一直很有 ...
相关推荐
通过这个简单的Struts错误处理小例子,我们可以了解到Struts是如何将错误信息从控制器层传递到视图层,并提供了多种方法来优雅地处理异常。这有助于提高应用程序的健壮性,同时确保用户在遇到问题时能得到清晰的反馈...
如果在这个过程中发生异常,Struts框架会捕获这个异常,并根据配置文件中的规则来决定如何处理。 1. **Action类中的异常处理**:在`Action`类中,开发者通常会在方法体内使用try-catch语句块来捕获可能出现的异常。...
在Struts2框架中,验证框架是其一个重要组成部分,用于确保输入数据的准确性和完整性,从而防止因无效数据导致的程序异常或错误。本实例将带你深入理解Struts2验证框架的使用,以及在实际操作中可能遇到的问题和解决...
在Struts2框架中,异常处理是至关重要的一个部分,它确保了应用程序的稳定性和用户体验。Struts2提供了多种方式来捕获和处理异常,帮助开发者优雅地处理程序中的错误情况。以下是Struts2异常处理的四种主要方法,...
5. **错误和异常处理**:虽然这个例子可能没有包含,但了解如何处理登录失败或其他异常情况也是很重要的。 通过这个简单的项目,初学者可以逐步掌握Struts1框架的基本使用,为后续的复杂应用开发打下基础。同时,这...
这个"struts&Spring&Hibernate框架小例子"旨在展示这三个框架如何协同工作,实现MVC(Model-View-Controller)设计模式,以及依赖注入和持久化管理。 Struts是MVC框架的代表,负责处理HTTP请求,控制应用程序流程,...
这个"struts+hibernate框架的简单例子"可能是提供了一个简单的Web应用示例,包括了Struts的请求处理和视图展示,以及Hibernate的数据库操作。对于初学者来说,这样的例子有助于理解这两个框架如何协同工作,为实际...
Struts2是一个流行的Java web框架,它提供了强大的异常处理机制,使得开发者能够优雅地管理和展示在应用程序中出现的错误和异常。以下是对Struts2异常处理机制的详细说明: 1. **异常处理流程**: 当一个Action...
声明式异常处理和个性化异常处理是Struts框架中的两个重要特性,它们帮助开发者更有效地管理和处理应用程序可能出现的异常情况,从而提高应用的健壮性和用户体验。 声明式异常处理是Struts通过配置文件(如struts-...
这个"一个关于Struts小例子"的压缩包可能是为了帮助初学者理解并实践Struts框架的基本用法。让我们深入了解一下Struts的核心概念、工作原理以及如何在实际项目中应用。 Struts是一个基于Model-View-Controller(MVC...
8. **异常处理**:Struts框架提供了一种统一的异常处理机制,允许开发者定义全局或特定Action的异常处理策略。 9. **Tiles框架集成**:Struts可以与Tiles框架集成,用于创建可重用的页面布局,提高开发效率。 10. ...
Struts是一个开源的Java EE框架,它主要用于构建和维护可扩展且易于管理的Web应用程序。...通过学习和实践Struts的各种功能小例子,你可以逐步揭开它的神秘面纱,熟练掌握其使用方法,提升自己的开发技能。
Struts2框架的核心是Action,它负责处理用户的请求,并通过业务逻辑组件来完成具体的操作。Action与Service层交互,将数据传递给Model,然后由Model处理业务逻辑。处理完成后,Action会将结果数据传递给视图层,通常...
9. **异常处理**:Struts2提供了一套完善的异常处理机制,通过`<global-exception-mappings>`和`<package>`内的`<exception-mapping>`标签,可以定义全局或局部的异常处理策略。 10. ** strut2-helloworld 示例**:...
Struts2预定义了许多拦截器,如`params`用于参数预处理,`exception`处理异常等。你可以根据需求自定义拦截器,并在struts.xml中配置。 八、总结 本实例是一个基础的Struts2应用,展示了如何创建一个简单的Action,...
此外,Struts还有其他重要特性,如国际化、异常处理、Tiles组件用于页面布局,以及Struts2的拦截器、OGNL表达式语言等。学习Struts有助于理解MVC设计模式,为后续学习其他Web框架(如Spring MVC)打下坚实基础。 ...
Struts2是一个非常流行的Java Web开发框架,它基于MVC(Model-View-Controller)设计模式,极大地简化了企业级应用程序的开发流程。在Struts2的2.3.15.3版本中,集成的验证框架是其核心功能之一,帮助开发者确保用户...
7. **异常处理**:Struts的异常处理机制允许开发者定义全局的错误处理策略,可以捕获和处理Action执行过程中的异常。 8. **拦截器(Interceptors)**:Struts 2引入了拦截器的概念,它们在Action执行前后运行,可以...
"wap与struts2开发的小例子" 这个标题表明这是一个关于使用WAP(无线应用协议)和Struts2框架进行开发的实际示例项目。WAP是移动设备上的一种通信协议,而Struts2是Java Web开发中的一个流行MVC框架,用于构建可维护...
### Struts+Spring+Hibernate框架搭建 #### 1. SSH整合理念 在现代软件开发中,特别是Java Web应用开发领域,采用多个框架协同工作已成为一种常见的做法。这种做法旨在通过不同框架的优势互补来构建高性能、高灵活...