Handling Exception in Struts
Handling Exception in Struts
قسمت اول
public ActionForward execute(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response)
throws Exception {
try{
// connect to DB and do some actions
}catch(Exception e){
// after error this part executed
return mapping.findForward("ErrorPage");
}
return mapping.findForward("GotoHomepage");
}
}
دوستان معمولا نحوه کنترل خطا در جاوا معمولا به صورت بالا است و همه از این روش برای کنترل خطا استفاده می کنند.:لبخندساده:
در برنامه هایی که با Struts می نویسید استفاده از روش بالا به هیچ وجه توصیه نمی شود ، چون باعث می شود کدهای کنترل خطا با کدهای معمولی برنامه قاطی پاتی شود.:گریه:
<exception type="ExceptionClass" key="keyMessage" path="ExceptionPage"/>
بیشتر مواقع ما دوست داریم با ایجاد خطا بدون عملیات خاصی صفحه خطا به کاربر نشان داده شود پیاده سازی این شیوه که جناب احمدرضا صدیقی نویسنده کتاب J2EE که مفصل درباره Struts صحبت کرده اند ، آن را روش ساده نامگذاری کرده اند بسیار ساده است.:متعجب:
همانطور در کد بالایی مشاهده می کنید exceptions یکی از اجزای داخلی Action در داخل فایلStruts-config.xml قابل تعریف می باشد.
ExceptionClass : مشخص کننده نام کامل کلاس خطای تولید شده است.
KeyMessage : مشخص کننده پیغام خطایی می باشد که در صفحه نشان داده خواهد شد و در فایل های ApplicationResources تعریف می شود.
ExceptionPage : مشخص کننده صفحه خطایی است که به کاربر نشان داده خواهد شد.
<action input="/RegistrationForm.jsp" path="/GetTheseInfo" scope="session" type="com.myapp.struts.RegistrationAction"> <forward name="success" path="/OK.jsp"/>
<exception type="java.sql.SQLException" key="error.sql" path="/exception.jsp" />
</action>
این خط رو داشته باشید تا پست بعدی بیشتر به این مسئله بپردازیم.:اشتباه:
راستش می خوام exception ها رو تموم کنیم و بعدش بپردازم به Validator ها.