성명 식 이상 처리 (10)

3111 단어 예외 처리
디자인 모델: 책임 체인
struts 에서 성명 식 이상 처 리 를 지원 합 니 다. action 에서 이상 이 생기 면 밖으로 던 져 도 마지막 까지 통 일 된 인 터 페 이 스 를 주 고 특정 페이지 에서 처리 하 라 는 뜻 입 니 다.
1. 액 션 작성
package com.sxt.action;


import java.sql.SQLException;

import com.opensymphony.xwork2.ActionSupport;
import com.sxt.model.User;

public class UserAction extends ActionSupport{
	
	private User user;
	
	public String login() throws SQLException{

		/*               ,             try-catch , action       ,  
		 * struts                         
		 */
		user.setName("");//  name     
		if("".equals(user.getName())){
		     throw new SQLException();
		}
		return SUCCESS;
	}

	public User getUser() {
		return user;
	}

	public void setUser(User user) {
		this.user = user;
	}

}

 2. struts. xml 설정
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE struts PUBLIC
    "-//Apache Software Foundation//DTD Struts Configuration 2.1//EN"
    "http://struts.apache.org/dtds/struts-2.1.dtd">
<struts>
	<constant name="struts.devMode" value="true"></constant>
	<package name="common" extends="struts-default">
                <!--   result-->	 
		<global-results>
    		      <result name="global_error">/global_error.jsp</result>
    	        </global-results>
    	         <!--        ,          Action-->
		 <global-exception-mappings>
                      <!-- result      action      ,     ,       result-->
    		      <exception-mapping result="global_error" exception="java.lang.Exception"></exception-mapping>
    	         </global-exception-mappings>
	</package>
	
       <package name="admin" namespace="/admin" extends="common" ><!--  :   common-->  		
           <action name="userAction" class="com.bjsxt.action.UserAction" method="login">
       		<result>/admin/success.jsp</result>
       		<result name="input">/admin/input.jsp</result>
		<!--    :
                     ,  Action     SQLException  ,    result     (    error.jsp  )。
                          Action。
       		<exception-mapping result="error" exception="java.sql.SQLException" /> 
       		<result name="error">/error.jsp</result> 
                -->
          </action>
   
       </package>
</struts>

 설명: userAction 에서 이상 을 던 지면 자신의 가방 에서 이상 맵 이 설정 되 어 있 는 지 찾 습 니 다. 없 으 면 부모 클래스 의 가방 에서 찾 습 니 다. 여 기 는 common package 입 니 다. common package 에 전역 적 인 이상 맵 과 전역 적 인 result 를 설정 합 니 다.
 

좋은 웹페이지 즐겨찾기