有人进来讲讲,用struts开发的异常捕获嘛?

freebyte 2004-01-04 11:19:21
最近在用struts作东西,可程序出问题了,经常就是白板,什么都不显示,郁闷。还有程序整个完成了,运行起来,发现,有些问题还是会出现,有时候又不出现,怎么对这些异常进行有效的捕获啊??

有人进来讲讲,用struts开发的异常捕获嘛?提供文章也好!
朋友们,赐教哦!
...全文
93 15 打赏 收藏 转发到动态 举报
写回复
用AI写文章
15 条回复
切换为时间正序
请发表友善的回复…
发表回复
101monster 2004-01-05
  • 打赏
  • 举报
回复
呵呵,UP!
freebyte 2004-01-05
  • 打赏
  • 举报
回复
是哦是哦!
就是因为白板的原因太多太多,有时查半天可能是个很小的问题,真格是郁闷了。

就如上面 rex0y(没学好九阳神功就妄想几小时练成乾坤大挪) 说的要一个通畅的错误传递和处理机制式需要一番设计的。而这个设计,有没有一个通用的模式啊?当然不同的问题还是有不同处理方式的。但从分层来说还是有一定通用的方法的,希望大家接着说。
phiai 2004-01-05
  • 打赏
  • 举报
回复
xinshou1979330(Success.java)所说的是,在actionservlet中如何把异常送到页面,在jsp页面上也有捕捉的话,就可以把后台的异常送到页面。这样解决肯定是对的。
但是,我遇到的最挠头的问题并不是这样的,而是如楼主所说的那种,很多时候有空白页,也有时候会出现编译错误,无法编译完整。这样的情况很多时候是由于struts的标签错误导致的,不知道现在是否有比较好的方法来处理这类问题,每次遇到这样的情况,我都是尽量把页面上的东西删的差不多,让它在编译的时候报错,但是很多时候是无法确定到底错误是在什么地方产生的。
rex0y 2004-01-05
  • 打赏
  • 举报
回复
struts还得灵活用吧,关于错误的处理,是需要一个机制的

比如在数据处理这一层 或者 业务逻辑这一层, 这时你不可能操作页面显示错误,那只有抛出异常。

而在action 这一层你就要捕获这些异常,对于不同的异常,写一个友好明白的错误信息,forward 到一个错误显示的jsp 或者 直接将错误显示在当前页。

而一个通畅的错误传递和处理机制式需要一番设计的
寒冬 2004-01-05
  • 打赏
  • 举报
回复
关注。。。学习。。。
sandyen 2004-01-05
  • 打赏
  • 举报
回复
异常处理?跟struts没有关系,该怎么处理就怎么处理,最后如果你有异常跑到了action里面
try
{
}
catch(SQLException se)
{
return 统一的异常错误页面
]
当然如果有很多的异常的话,你可设定异常类型
eureka0891 2004-01-05
  • 打赏
  • 举报
回复
不知,太抽象不好说
xinshou1979330 2004-01-05
  • 打赏
  • 举报
回复
ActionErrors errors = new ActionErrors();

if(!errors.empty()) {
saveErrors(request, errors);
return (new ActionForward(mapping.getInput()));
}

// 把userinfo对象存入session
session.setAttribute(Constants.USER_LOGIN, UC);
return mapping.findForward("success");
我是这样做的在ACTION里然后在JSP中

<html:errors/>
就可以了


dongdong2112 2004-01-05
  • 打赏
  • 举报
回复
我用一个类继承Action类,重载perform,再捕捉异常,跳转到错误页。这样可以把除JSP页面错误以外的错误都处理掉。
public ActionForward perform(ActionMapping mapping,
ActionForm form,
HttpServletRequest request,
HttpServletResponse response)
{
try
{

//处理请求信息
forwardTo = perForm(mapping, form, request, response);//自己写的处理方法
}
catch(Exception e)
{
forwardTo = "syserr";
}
return(mapping.findForward(forwardTo));
gong1 2004-01-05
  • 打赏
  • 举报
回复
actionerrors ^_^
xinqing6888 2004-01-05
  • 打赏
  • 举报
回复
还有一种方法,可以用logger来进行测试,这是比较流行的做法了~~
BillyW 2004-01-05
  • 打赏
  • 举报
回复

struts使用了宣称式异常处理。
在struts-config.xml文件里是这样定义的:
<global-exceptions>
<exception
handler="com.dmk.strutstest.CustomizedExceptionHandler"
key="org.apache.struts.action.Exception"
path="/Error.jsp"
scope="request"
type="java.lang.Exception" />
</global-exceptions>
也就是说,你需要捕获什么样的错误类型就在global-exceptions里写出它的类型。当错误发生里,就会交给比如“error.jsp”来处理。
ericjzg 2004-01-05
  • 打赏
  • 举报
回复
struts很多错误都是标签上的错误,一错误就空白了。
如果是针对代码的,还是自己写一个可以显示抛错误的。
好像ActionErrors也只是保存errors的串,对客户/用户来说没多大意义,
即使有完善的错误描述,维护起来也比较麻烦吧。
lijunisbug 2004-01-05
  • 打赏
  • 举报
回复
struts?
兄台,你们项目有多大?

呵呵!~
cold_blooded 2004-01-04
  • 打赏
  • 举报
回复
这种情况一般是因为标签的使用错误引起的,如果用ide(jbuilder等)有时会发现不了,这时直接用tomcat运行的话,是可以看到错误标识的。

67,513

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧