Struts 專案中web.xml檔案配置
web.xml檔案對於配置任何Java Web應用都必需的。
(1)配置Struts的ActionServlet
<servlet>元素來宣告ActionServlet
<servlet-name>元素:用來定義Servlet的名稱
<servlet-class>元素:用來指定Servlet的完整類名
<servlet>
<servlet-name>action</servlet-name>
<servlet-class>org.apache.struts.action.ActionServlet</servlet-class>
</servlet>
還要配置<servlet-mapping>元素,它用來指定ActionServlet可以處理哪些URL
<servlet-mapping>
<servlet-name>action</servlet-name>
<url-pattern>*.do</url-pattern>
</servlet-mapping>
注意:(1)<servlet-mapping>和<servlet>中的<servlet-name>?</servlet-name>的要填寫一致,它就是一根線,把<servlet-mapping>和<servlet>聯接在一起的。
(2)在Struts框架中只能有一個Servlet,因為Servlet支援多執行緒。而<servlet-class>org.apache.struts.action.ActionServlet</servlet-class>中的ActionServlet是在Struts.jar包中的.在匯入Struts包時會匯入。
(3)在顯示層以*.do提交的,都會過個Servlet。*.do可以改寫成你想要的任何形式。例如:/do/*
擴充套件 (1)我們可以繼承 org.apache.struts.action.ActionServlet 得到我們可以擴允的子類,在子類中重寫一個方法init()。這時<servlet-class>?</servlet-class>中的?是我們新建的類的路徑,同樣只能存在一個。
(2)宣告ActionServlet的初始化引數
初始化引數用來對Servlet的執行時環境進行初始配置。<servlet>的<init-param>子元素用於配置Servlet初始化引數。
config :以相對路徑的方式指明Struts應用程式的配置檔案位置,如不設定,則預設值為/WEB-INF/struts-config.xml
debug : 設定Servlet的debug級別,控制日誌記錄的詳細程度。預設為0,記錄相對最少的日誌資訊。
detail : 設定Digester的debug級別,Digester是Struts框架所使用的用來解析xml配置檔案的一個框架,通過此設定,可以檢視不同詳細等級的解析日誌。預設為0,記錄相對最少的日誌資訊。
<load-on-startup>?</load-on-startup>中?號的值是此ActionServlet在伺服器開啟時載入的次序,數值越低,越先載入。
<servlet>
<servlet-name>action</servlet-name>
<servlet-class>org.apache.struts.action.ActionServlet</servlet-class>
<init-param>
<param-name>config</param-name>
<param-value>/WEB-INF/struts-config.xml</param-value>
</init-param>
<init-param>
<param-name>debug</param-name>
<param-value>3</param-value>
</init-param>
<init-param>
<param-name>detail</param-name>
<param-value>3</param-value>
</init-param>
<load-on-startup>0</load-on-startup>
</servlet>
擴充套件:(1)當伺服器啟動後,載入ActionServlet,而ActionServlet會呼叫相關的方法去,會根據它下面的引數的初始值,對這個ActionServlet中的引數時行初始化
(2)當多人協作開發專案時可以對Strutst的配置檔案進行適當的擴充,但必須為config開頭。如
<init-param>
<param-name>config/XXXXXXXXX</param-name>
<param-value>/WEB-INF/XXXXX.xml</param-value>
</init-param>
(3) 配置歡迎檔案清單
當客戶訪問Web應用時,如果僅僅給出Web應用的Root URL,沒有指定具體的檔名。Web容器會自動呼叫Web應用的歡迎檔案。<welcome-file-list>是用來設定此項.
<welcome-file-list>
<welcome-file>welcome.jsp</welcome-file>
</welcome-file-list>
說明:在<welcome-file-list> 下可以有多個<welcom-file>。Web容器會依次尋找歡迎介面,直到找到為止。但如果不存在會向客戶端返回”HTTP 404 NOT Found“錯誤資訊。
由於在<welcome-file-list>元素中不能配置Servlet對映,則不能直接把Struts的Action作為歡迎檔案。但可以通過Struts中的全域性的(global)轉發項來配置。
A:welcome.jsp頁面(可換檔名)
<%@ taglib uri="http://jakarta.apache.org/struts/tags-logic" prefix="logic"%>
<html>
<body>
<logic:forward name="welcome"/>
</body>
</html>
B: web.xml
<welcome-file-list>
<welcome-file>welcome.jsp</welcome-file>
</welcome-file-list>
C: struts-config.xml
<global-forwards>
<forward name="welcome" path="hello.do">
</global-forwards>
我自已理解,僅供參考
執行機制:當伺服器啟動時還是會載入 B中<welcome-file>welcome.jsp</welcome-file>中的welcome.jsp,然後讀到(A)welcome.jsp中的 <logic:forward name="welcome"/>,接下來會轉到C中的<forward name="welcome" path="HelloWorld.do">,這是由於它是以.do(hello.do)結尾的,所以它會找到C檔案中的<action>相配配的,最後在轉到這個<action>的JSP頁面。
執行錯誤示例:
(a)把C中的<forwrod>改成<forward name="welcome" path="liusong.do"> liusong.do根本就不成在。
(b)把C中的 <forward name="welcome" path="hello"> 因為伺服器不知是hello.do還是hello.jsp不能轉向
(c)把B中的 <welcome-file >/hello.do</welcome-file>因為它不會呼叫Servlet類,
執行正確示例:
(d)把C中的<forward name="welcome" path="hello.jsp"> 執行成功
(e)把B中的<welcome-file >/hello.jsp</welcome-file> 執行成功
(4)配置錯誤處理
Struts框架中不能處理所有的錯誤或異常。當Struts框架發生不能處理所有的錯誤或異常時,就把錯誤拋給Web容器。在預設情況下,Web容器會向用戶瀏覽器直接返回原始的錯誤,為了避免可以使用<error-page>。
<erro-page>
<error-code>4040</error-code>
<location>/commmon/404.jsp</location>
</error-page>
<erro-page>
<error-code>4040</error-code>
<location>/commmon/404.jsp</location>
</error-page>
Weg容器捕獲的Java異常配置<error-page>,這時需要設定<exception-type>子元素,它用於指定Java異常類。Web容器可能捕獲如下的異常:
RuntimeException 或 Error
ServletException 或它的子類
IOException 或它的子類
<error-page>
<exception-type>javax.servlet.ServletException</exception-type>
<location>/system_error.jsp</location>
</error-page>
<error-page>
<exception-type>java.io.IOException</exception-type>
<location>/system_ioerror.jsp</location>
</error-page>
(5)配置Struts標籤庫
Struts框架提供了一些實用的客戶化標籤標籤庫,如果在應用中使用可以在web.xml中配置
<taglib>
<taglib-uri>/WEB-INF/struts-bean.tld</taglib-uri>
<taglib-location>/WEB-INF/struts-bean.tld</taglib-location>
</taglib>
由於Eclipse對<taglib>會產生錯誤,所以
<jsp-config>
<taglib>
<taglib-uri>/WEB-INF/validator-user.tld</taglib-uri>
<taglib-location>/WEB-INF/validator-user.tld</taglib-location>
</taglib>
</jsp-config>
相關推薦
Struts 專案中web.xml檔案配置
web.xml檔案對於配置任何Java Web應用都必需的。(1)配置Struts的ActionServlet <servlet>元素來宣告ActionServlet<servlet-name>元素:用來定義Servlet的名稱<servlet-
關於專案中web.xml配置檔案裡面的spring的配置contextConfigLocation
如果沒有接觸過公司專案的小白或者剛入職不久的菜鳥,可能一直認為在web.xml中配置spring肯定是如下圖這樣的,/WEB-INF/classes/applicationContext.xml
springmvc 專案完整示例07 設定配置整合springmvc springmvc所需jar包springmvc web.xml檔案配置
前面主要是後臺程式碼,spring以及mybatis的整合 下面主要是springmvc用來處理請求轉發,展現層的處理 之前所有做到的,完成了後臺,業務層和持久層的開發完成了 接下來就是展現層了 有很多的mvc框架,這裡我們用springMVC 首先還是需要jar包 我們既然是web專案了
struts2專案中web.xml配置
struts2.5中<filter-class>使用org.apache.struts2.dispatcher.filter.StrutsPrepareAndExecuteFilter替換org.apache.struts2.dispatcher.ng.filt
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"
Eclipse中新建立的Maven專案沒有web.xml檔案
在使用eclipse建立新的的maven專案時沒有自動建立web.xml檔案會報錯。 1.手動建立WEB-INF/web.xml 2.通過eclipse工具建立 右鍵點選所建立的專案,選擇 Java EE Tools 選擇Generate Deployment Desc
SpringMVC中web.xml的配置理解
在web.xml種這樣配置 <listener> <listener-class> org.springframework.web.context.ContextLoaderListener </list
tomcat中server.xml檔案配置解析
server.xml配置簡介 下面是這個檔案中的基本配置資訊,更具體的配置資訊見tomcat的文件 server:
idea解決建立maven專案時web.xml檔案版本過低的情況
前言 之前介紹瞭如何在idea中部署maven的web專案,但是建立maven專案之後,發現一個小瑕疵: <!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
SpringMVC專案中 web.xml模板
<?xml version="1.0" encoding="UTF-8"?> <web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLS
spring框架中web.xml的配置詳解
1 定義頭和根元素 部署描述符檔案就像所有XML檔案一樣,必須以一個XML頭開始。這個頭宣告可以使用的XML版本並給出檔案的字元編碼。 DOCYTPE宣告必須立即出現在此頭之後。這個宣告告訴伺服器適用的servlet規範的版本(如2.2或2.3)並指定管理此檔案其餘部
struts2 2.5以上版本安裝中web.xml的配置(包括核心過濾器filter)
<?xml version="1.0" encoding="UTF-8"?> <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-
Spring專案中對XML檔案熱載入程式碼實現
前言: 平時我們進行Spring專案開發的時候,經常需要因為XML的改變而重啟伺服器,假如專案較大的時候,重啟將會非常耗時。最近編寫的webschool框架需要用到較多的XML檔案進行配置,在這裡參考公司程式碼,實現了對XML檔案的熱載入。 效果 每
tomcat的web.xml檔案配置
Tomcat web.xml配置的常用元素<web-app><display-name></display-name> // web應用的名字<description></description> // web應
Springmvc中web.xml的配置詳解
<!-- springMVC核心配置 --> <servlet> <servlet-name>dispatcherServlet</servlet-name> <servlet-class>org.springframework.web.ser
javaweb前端表單請求路徑要和後端web.xml檔案配置一定要一致
這兩天跟著老師做一個小作品,作品裡面設定了登入功能和監聽器功能,其中在登入功能中使用了監聽器監聽功能監聽使用者的登入,下面是Servlet中判斷登入邏輯的一個方法: private void login(HttpServletRequest request, HttpSer
servlet---web.xml檔案配置路徑
Servlet的對映路徑: 在web.xml檔案中: <servlet-mapping> <servlet-name>FirstServlet</servlet-name>//servlet的內部名稱
Servlet中Web.xml的配置詳解(一)
1 定義頭和根元素部署描述符檔案就像所有XML檔案一樣,必須以一個XML頭開始。這個頭宣告可以使用的XML版本並給出檔案的字元編碼。DOCYTPE宣告必須立即出現在此頭之後。這個宣告告訴伺服器適用的servlet規範的版本(如2.2或2.3)並指定管理此檔案其餘部分內容的語法的DTD(Document Typ
maven新建ssm專案中pom.xml檔案內容
1、開發工具使用時的idea <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi
Maven專案中pom.xml檔案報錯以及專案編譯錯誤
pom.xml報錯:Referenced file contains errors (http://maven.apache.org/maven-v4_0_0.xsd). For more infor