zoukankan      html  css  js  c++  java
  • ExceptionDemo

    功能:

    利用struts.xml 捕获异常

     不满足这三个值就报异常

    1.web.xml

    <?xml version="1.0" encoding="UTF-8"?>
    <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" id="WebApp_ID" version="3.0">
      <filter>
        <filter-name>struts2</filter-name>
        <filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>
      </filter>
      <filter-mapping>
        <filter-name>struts2</filter-name>
        <url-pattern>/*</url-pattern>
      </filter-mapping>
      <welcome-file-list>
        <welcome-file>index.jsp</welcome-file>
      </welcome-file-list>
    </web-app>

    2.UserAction.java

    package com.action;
    import com.opensymphony.xwork2.ActionSupport;
    
    public class UserAction extends ActionSupport{
        private static final long serialVersionUID=1L;
        
        private String name;
        private String age;
        private String tel;
        
        public String getName() {
            return name;
        }
    
    
    
        public void setName(String name) {
            this.name = name;
        }
    
    
    
        public String getAge() {
            return age;
        }
    
    
    
        public void setAge(String age) {
            this.age = age;
        }
    
    
    
        public String getTel() {
            return tel;
        }
    
    
    
        public void setTel(String tel) {
            this.tel = tel;
        }
    
    
    
        public String execute() throws Exception{
            if(!getName().equals("Tom"))
            {
                throw new SecurityException("Wrong Name!");
            }
            else if(!getAge().equals("20"))
            {
                throw new Exception("Wrong Age!");
            }
            else if(!getTel().equals("12345"))
            {
                throw new java.sql.SQLException();
            }
            else
            {
                return SUCCESS;
            }
        }
    
    }

    3.SecurityException.java

    package com.action;
    
    public class SecurityException extends Exception{
        private static final long serialVersionUID=1L;
        
        public SecurityException()
        {
            super();
        }
        
        private String message;
        
        public SecurityException(String message)
        {
            this.message=message;
        }
        
        public String getMessage()
        {
            return message;
        }
    
    }

    4.index.jsp

    <%@ page language="java" contentType="text/html; charset=UTF-8"
        pageEncoding="UTF-8"%>
    <%@ taglib prefix="s" uri="/struts-tags"%>
    <!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=UTF-8">
    <title>Insert title here</title>
    </head>
    <body>
        <center>
            <s:form action="user" method="post" namespace="/">  <!-- method="post" namespace="/" 可加可不加? -->
                <s:textfield label="Name" name="name" />
                <s:textfield label="Age" name="age" />
                <s:textfield label="Tel" name="tel" />
                <s:submit/>
            </s:form>
        </center>
    </body>
    </html>

    5.struts.xml

    <?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE struts PUBLIC
        "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
        "http://struts.apache.org/dtds/struts-2.0.dtd">
    <struts>
        <package name="default" namespace="/" extends="struts-default">
            <global-results>
                <result name="Exception">/Exception.jsp</result>
                <result name="SQLException">/SQLException.jsp</result>
            </global-results>
            
            <global-exception-mappings>
                <exception-mapping exception="java.lang.Exception" result="Exception"></exception-mapping>
                <exception-mapping exception="java.sql.SQLException" result="SQLException"></exception-mapping>
            </global-exception-mappings>
            
            <action name="user" class="com.action.UserAction">
                <exception-mapping exception="com.action.SecurityException" result="Login"></exception-mapping>
                <result name="Login">/Login.jsp</result>
                <result>/success.jsp</result>
            </action>
        </package>
    </struts>

    6.Exception.jsp/ SQLException.jsp/ Login.jsp

    <%@ page language="java" contentType="text/html; charset=UTF-8"
        pageEncoding="UTF-8"%>
    <%@ taglib prefix="s" uri="/struts-tags"%>
    <!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=UTF-8">
    <title>Insert title here</title>
    </head>
    <body>
        <center>
            <s:property value="exception.message" /><br/>            
            <s:property value="exceptionStack" /><br/>
        </center>
    </body>
    </html>

     7.success.jsp

    <%@ page language="java" contentType="text/html; charset=UTF-8"
        pageEncoding="UTF-8"%>
    <%@ taglib prefix="s" uri="/struts-tags"%>
    <!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=UTF-8">
    <title>Insert title here</title>
    </head>
    <body>
        <center>
            <h2>success!!!</h2>
        </center>
    </body>
    </html>
        
  • 相关阅读:
    关于求 p_i != i and p_i != i+1 的方案数的思考过程
    poj 3041 Asteroids 二分图最小覆盖点
    poj 1325 Machine Schedule 最小顶点覆盖
    poj 1011 Sticks 减枝搜索
    poj 1469 COURSES 最大匹配
    zoj 1516 Uncle Tom's Inherited Land 最大独立边集合(最大匹配)
    Path Cover (路径覆盖)
    hdu 3530 SubSequence TwoPoint单调队列维护最值
    zoj 1654 Place the Rebots 最大独立集转换成二分图最大独立边(最大匹配)
    poj 1466 Girls and Boys 二分图最大独立子集
  • 原文地址:https://www.cnblogs.com/c0liu/p/5497588.html
Copyright © 2011-2022 走看看