jdbc connection will not be,spring異常處理實例(登錄例子)

 2023-10-12 阅读 24 评论 0

摘要:給出一個spring異常處理的簡單例子: ?spring配置文件Config.xml <?xml?version="1.0"?encoding="UTF-8"?> <!DOCTYPE?beans?PUBLIC?"-//SPRING//DTD?BEAN//EN"?"http://www.springframework.org/dtd/spring-beans.dtd">
給出一個spring異常處理的簡單例子:
?spring配置文件Config.xml
<?xml?version="1.0"?encoding="UTF-8"?>
<!DOCTYPE?beans?PUBLIC?"-//SPRING//DTD?BEAN//EN"?"http://www.springframework.org/dtd/spring-beans.dtd">

<beans>
???
<bean?id="viewResolver"
????????class
="org.springframework.web.servlet.view.InternalResourceViewResolver">
????????
<property?name="viewClass">
???????????
<value>
??????????????org.springframework.web.servlet.view.JstlView
???????????
</value>
????????
</property>
????????
????????
<property?name="prefix">
????????????
<value>/WEB-INF/view/</value>
????????
</property>
???????
????????
<property?name="suffix">
???????????
<value>.jsp</value>
????????
</property>
????????
???
</bean>
???
???
<bean?id="messageSource"
???????class
="org.springframework.context.support.ResourceBundleMessageSource">
???????
<property?name="basename"><value>messages</value></property>
???
</bean>
???????
??
???
<bean?id="exceptionResolver"
????????class
="org.springframework.web.servlet.handler.SimpleMappingExceptionResolver">
????????
<property?name="defaultErrorView">
???????????
<value>failure</value>
????????
</property>
????????
????????
<property?name="exceptionMappings">
????????????
<props>
????????????????
<prop?key="java.sql.SQLException">showDBError</prop>
????????????????
<prop?key="java.lang.RuntimeException">showError</prop>
????????????
</props>
????????
</property>
???
</bean>
???
???
<bean?id="RegisterValidator"
???????class
="net.xiaxin.validator.RegisterValidator"/>
???????
???
<bean?id="RegisterAction"
???????class
="net.xiaxin.action.RegisterAction">
???????
<property?name="commandClass">
???????????
<value>net.xiaxin.reqbean.RegisterInfo</value>
???????
</property>
???????
???????
<property?name="validator">
???????????
<ref?local="RegisterValidator"/>
???????
</property>
???????
???????
<property?name="formView">
????????????
<value>register</value>
???????
</property>
???????
???????
<property?name="successView">
?????????????
<value>RegisterSuccess</value>
???????
</property>
???
</bean>
???
???
<bean?id="freemarkerConfig"
???????class
="org.springframework.web.servlet.view.freemarker.FreeMarkerConfigurer">
???????
<property?name="templateLoaderPath">
???????????
<value>WEB-INF/view/</value>
???????
</property>
???
</bean>
???
???
<bean?id="urlMapping"
????????class
="org.springframework.web.servlet.handler.SimpleUrlHandlerMapping">
????????
<property?name="mappings">
???????????
<props>
??????????????
<prop?key="/login.do">LoginAction</prop>
???????????????
<prop?key="/register.do">RegisterAction</prop>
???????????
</props>
????????
</property>
???
</bean>
???
???
<bean?id="LoginAction"
???????class
="net.xiaxin.action.LoginAction">
???????
<property?name="commandClass">
??????????
<value>net.xiaxin.action.LoginInfo</value>
???????
</property>
???????
???????
<property?name="fail_view">
???????????
<value>loginfail</value>
???????
</property>
???????
???????
<property?name="success_view">
??????????
<value>main</value>
???????
</property>
???
</bean>
</beans>
登錄測試代碼:
<!DOCTYPE?html?PUBLIC?"-//W3C//DTD?HTML?4.01?Transitional//EN"?"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>

<title>Insert?title?here</title>
</head>
<body>
???
<form?method="post"?action="login.do">
????????
<p?align="center">登錄</p>
????????
<br>
????????用戶名:
????????
<input?type="text"?name="username">
????????
<br>
????????密
&nbsp;&nbsp;碼:
????????
<input?type="password"?name="password">
????????
<br>
????????
<p>
???????????
<input?type="submit"?value="提交"?name="B1">
????????????
<input?type="reset"?value="重置"?name="B2">
????????
</p>
???
</form>
</body>
</html>
loginInfo代碼
public?class?LoginInfo?...{
????
private?String?username;
????
private?String?password;
????
public?String?getUsername()?...{
????????
return?username;
????}

????
public?void?setUsername(String?username)?...{
????????
this.username?=?username;
????}

????
public?String?getPassword()?...{
????????
return?password;
????}

????
public?void?setPassword(String?password)?...{
????????
this.password?=?password;
????}

}


?顯示錯誤頁面:showDBError.jsp
<%...@?page?language="java"?contentType="text/html;?charset=gb2312"
????pageEncoding
="gb2312"
%>
<%...@?page?import="java.lang.Exception"?%>
<%...@?page?import="java.io.PrintWriter"?%>
<!DOCTYPE?html?PUBLIC?"-//W3C//DTD?HTML?4.01?Transitional//EN"?"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta?http-equiv="Content-Type"?content="text/html;?charset=gb2312">
<title>Insert?title?here</title>
</head>
<body>
<%...Exception?ex=(Exception)request.getAttribute("exception");%>
<H2>Exception:?<%=ex%></H2>
<%...ex.printStackTrace(new?java.io.PrintWriter(out));%>
</body>
</html>

LoginAction代碼
public?class?LoginAction?extends?SimpleFormController...{
?????
private?String?fail_view;
?????
private?String?success_view;
?????
????
protected?ModelAndView?onSubmit(Object?cmd,BindException?ex)throws?Exception...{
????????LoginInfo?loginInfo
=(LoginInfo)cmd;
????????
if(login(loginInfo)==0)...{
????????????HashMap?result_map
=new?HashMap();
????????????result_map.put(
"logininfo",?loginInfo);
????????????
????????????List?msgList
=new?LinkedList();
????????????msgList.add(
"msg1");
????????????msgList.add(
"msg2");
????????????msgList.add(
"msg3");
????????????result_map.put(
"messages",?msgList);
????????????
????????????
return?new?ModelAndView(this.getSuccess_view(),result_map);
????????}
else...{
????????????SQLException?e
=new?SQLException("this?is?a?exception");
????????
????????????
throw?e;
//????????????return?new?ModelAndView(this.getFail_view());
????????}

????????
????}

????
????
private?int?login(LoginInfo?loginInfo)...{
????????
if("oscar".equalsIgnoreCase(loginInfo.getUsername())&&"123456".equals(loginInfo.getPassword()))...{
????????????
return?0;
????????}

????????
return?1;
????????
????}

????
public?String?getFail_view()?...{
????????
return?fail_view;
????}

????
public?void?setFail_view(String?fail_view)?...{
????????
this.fail_view?=?fail_view;
????}

????
public?String?getSuccess_view()?...{
????????
return?success_view;
????}

????
public?void?setSuccess_view(String?success_view)?...{
????????
this.success_view?=?success_view;
????}

}

????

版权声明:本站所有资料均为网友推荐收集整理而来,仅供学习和研究交流使用。

原文链接:https://hbdhgg.com/5/135336.html

发表评论:

本站为非赢利网站,部分文章来源或改编自互联网及其他公众平台,主要目的在于分享信息,版权归原作者所有,内容仅供读者参考,如有侵权请联系我们删除!

Copyright © 2022 匯編語言學習筆記 Inc. 保留所有权利。

底部版权信息