免费视频淫片aa毛片_日韩高清在线亚洲专区vr_日韩大片免费观看视频播放_亚洲欧美国产精品完整版

打開APP
userphoto
未登錄

開通VIP,暢享免費電子書等14項超值服

開通VIP
Struts2 異常處理

Struts提供了一個更簡單的方式來處理未捕獲的異常,并將用戶重定向到一個專門的錯誤頁面。您可以輕松地Struts配置到不同的異常有不同的錯誤頁面。

Struts的異常處理所使用的“exception”攔截容易?!癳xception”攔截器作為默認的棧的一部分,所以不必做任何額外的配置。它可為準備使用的盒。讓我們看到了一個簡單的Hello World示例進行一些修改在HelloWorldAction.java文件。在這里,我們特意推出了一個空指針異常在我們HelloWorldAction動作代碼。

package com.yiibai.struts2;import com.opensymphony.xwork2.ActionSupport;public class HelloWorldAction extends ActionSupport{   private String name;   public String execute(){      String x = null;      x = x.substring(0);      return SUCCESS;   }      public String getName() {      return name;   }   public void setName(String name) {      this.name = name;   }}

讓我們 helloWorld.jsp保持內(nèi)容如下:

 <%@ page contentType="text/html; charset=UTF-8" %><%@ taglib prefix="s" uri="/struts-tags" %><html><head><title>Hello World</title></head><body>   Hello World, <s:property value="name"/></body></html>

以下是內(nèi)容index.jsp:

 <%@ page language="java" contentType="text/html; charset=ISO-8859-1"   pageEncoding="ISO-8859-1"%><%@ 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><title>Hello World</title></head><body>   <h1>Hello World From Struts2</h1>   <form action="hello">      <label for="name">Please enter your name</label><br/>      <input type="text" name="name"/>      <input type="submit" value="Say Hello"/>   </form></body></html>

struts.xml 應(yīng)該像這樣:

 <?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><constant name="struts.devMode" value="true" />   <package name="helloworld" extends="struts-default">           <action name="hello"          class="com.yiibai.struts2.HelloWorldAction"          method="execute">         <result name="success">/HelloWorld.jsp</result>      </action>   </package></struts>

現(xiàn)在右擊項目名稱,并單擊Export > WAR File創(chuàng)建一個WAR文件。然后部署此WAR在Tomcat的webapps目錄下。最后,啟動Tomcat 服務(wù)器和嘗試訪問URL http://localhost:8080/HelloWorldStruts2/index.jsp。這會給出以下畫面:

輸入一個值“Struts2”,并提交頁面。應(yīng)該看到以下頁面:

在上面的例子所示,默認的異常攔截器做了非常出色的處理異?!,F(xiàn)在,讓我們創(chuàng)建一個專用的錯誤頁面,我們的例外。創(chuàng)建一個文件名為error.jsp 如以下內(nèi)容:

<%@ page language="java" contentType="text/html; charset=ISO-8859-1"	pageEncoding="ISO-8859-1"%><%@ 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><title></title></head><body>   This is my custom error page</body></html>

Let us now configure Struts to use this this error page in case of an exception. Let us modify thestruts.xml?as follows:

<?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><constant name="struts.devMode" value="true" />   <package name="helloworld" extends="struts-default">         <action name="hello"          class="com.yiibai.struts2.HelloWorldAction"          method="execute">         <exception-mapping exception="java.lang.NullPointerException"         result="error" />         <result name="success">/HelloWorld.jsp</result>         <result name="error">/Error.jsp</result>      </action>   </package></struts>

在上面的例子所示,現(xiàn)在我們已經(jīng)配置 Struts使用專用error.jsp的NullPointerException異常。如果現(xiàn)在重新運行該程序,現(xiàn)在看到下面的輸出:

此外,Struts2 框架自帶的“日志”攔截記錄異常。使記錄器記錄的未捕獲異常,我們可以很容易地看堆棧跟蹤和工作出了什么錯誤。

全局異常映射:

我們已經(jīng)看到了我們可以處理特定的異常行動。我們可以設(shè)置一個例外,全局將適用于所有的行動。例如,要捕獲 NullPointerException異常,我們可以添加<global-exception-mappings...>標簽里面<package...>標簽和其<result...>標簽應(yīng)加在<行動.. >標記在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><constant name="struts.devMode" value="true" />   <package name="helloworld" extends="struts-default">      <global-exception-mappings>         <exception-mapping exception="java.lang.NullPointerException"         result="error" />      </global-exception-mappings>      <action name="hello"          class="com.yiibai.struts2.HelloWorldAction"          method="execute">         <result name="success">/HelloWorld.jsp</result>         <result name="error">/Error.jsp</result>      </action>   </package></struts>
來源:https://www.icode9.com/content-4-428151.html
本站僅提供存儲服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊舉報。
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
為Struts 2.0做好準備
2 Struts Hello World Example in Eclipse
struts2.0簡單的例子
java框架篇---Struts入門
struts2 框架下MyEclipse編寫HelloWorld程序
Struts2教程
更多類似文章 >>
生活服務(wù)
分享 收藏 導(dǎo)長圖 關(guān)注 下載文章
綁定賬號成功
后續(xù)可登錄賬號暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點擊這里聯(lián)系客服!

聯(lián)系客服