J2EE中web.xml的常用配置
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() 列了J2EE中的一些xml配置,當然并不全。 --------------------------------------------------------------------------------------------------------------------------------- 配置servlet映射關系: <web-app> ?? ...... ?? <servlet> ??? ??? <servlet-name>ServletName</servlet-name> ??? ??? <servlet-class>com.jj.ServletClass</servlet-class> ??? ??? <!-- servlet初始化參數 --> ??? ??? <init-param> ??? ??? ??? <param-name>parameterName</param-name> ??? ??? ??? <param-value>parameterValue</param-value> ??? ??? </init-param> ??? </servlet> ??? <servlet-mapping> ??? ??? <servlet-name>ServletName</servlet-name> ??? ??? <url-pattern>/*.do</url-pattern> ??? </servlet-mapping> ??? ...... </web-app> --------------------------------------------------------------------------------------------------------------------------------- 配置監聽器: <web-app> ??? ........ ??? <listener> ??? ??? <listener-class>com.jj.MyServletContextListener</listener-class> ??? </listener> ??? ........ </web-app> --------------------------------------------------------------------------------------------------------------------------------- 設置session超時: <web-app> ??? ........ ??? <session-config> ??? ??? <!-- 以分鐘為單位 --> ??? ??? <session-timeout>15</session-timeout> ??? </session-config> ??? ........ </web-app> --------------------------------------------------------------------------------------------------------------------------------- 配置應用上下文參數: <web-app> ??? ........ ???? <context-param> ??? ??? <param-name>parameterName</param-name> ??? ??? <param-value>parameterValue</param-value> ??? </context-param> ??? ........ </web-app> --------------------------------------------------------------------------------------------------------------------------------- 禁用scriptlet: <web-app> ??? ........ ??? <jsp-config> ??? ??? <jsp-property-group> ??? ??? ??? <url-pattern>*.jsp</url-pattern> ??? ??? ??? <scripting-invalid>true</scripting-invalid> ??? ??? </jsp-property-group> ??? </jsp-config> ??? ........ </web-app> --------------------------------------------------------------------------------------------------------------------------------- 忽略EL表達式語言: <web-app> ??? ........ ??? <jsp-config> ??? ??? <jsp-property-group> ??? ??? ??? <url-pattern>*.jsp</url-pattern> ??? ??? ??? <el-ignored>true</el-ignored> ??? ??? </jsp-property-group> ??? </jsp-config> ??? ........ </web-app> --------------------------------------------------------------------------------------------------------------------------------- EL函數配置: TLD(標記庫描述文件): <taglib> ??? <uri>DiceFunctions</uri> ??? <function> ??? ??? <name>rollIt</name> ??? ??? <function-class>foo.DiceRoller</function-class> ??? ??? <function-signature> ??? ??? ??? int rollDice() ??? ??? </function-signature> ??? </function> </taglib> 有函數的類: package foo; public class DiceRoller{ ??? public static int rollerDice(){ ??? ?? return (int)((Math.random()*6)+1); ??? } } JSP中調用 <%@ tiglib prefix="mine" uri="DiceFunctions" %> <html><body> ${mine:rollIt()} </body></html> --------------------------------------------------------------------------------------------------------------------------------- 定制錯誤頁面: 根據異常類型定制錯誤頁面: <web-app> ??? ...... ??? <error-page> ??? ??? <exception-type>java.lang.Throwable</exception-type> ??? ??? <location>/error.jsp</location> ??? </error-page> ??? ...... </web-app> 根據HTTP狀態碼定制錯誤頁面: <web-app> ??? ...... ??? <error-page> ??? ??? <error-code>404</error-code> ??? ??? <location>/error.jsp</location> ??? </error-page> ??? ...... </web-app> --------------------------------------------------------------------------------------------------------------------------------- 定制標記: tld: <taglib> ??? ...... ??? <tag> ??? ??? <name>loop</name> ??? ??? <tag-class>com.pandajj.tag.LoopTag</tag-class> ??? ??? <!-- 四個值可選:empty,scriptless,tagdependent,JSP --> ??? ??? <body-content>JSP</body-content> ??? ??? <attribute> ??? ??? ??? <name>times</name> ??? ??? ??? <required>true</required> ??? ??? ??? <rtexpralue>true</rtexpralue> ??? ??? </attribute> ??? </tag> ??? ...... </taglib> --------------------------------------------------------------------------------------------------------------------------------- 定制歡迎頁面: <web-app> ??? ...... ??? <welcome-file-list> ??? ??? <welcome-file>hello.html</welcome-file> ??? </welcome-file-list> ??? ...... </web-app> --------------------------------------------------------------------------------------------------------------------------------- EJB相關和MIME映射: <web-app> ??? ...... ??? <!-- 本地Bean的引用 --> ??? <ejb-local-ref> ??? ??? <ejb-ref-name>ejb/customer</ejb-ref-name> ??? ??? <ejb-ref-type>Entity</ejb-ref-type> ??? ??? <local-home>com.jj.CustomerHome</local-home> ??? ??? <local>com.jj.Customer</local> ??? </ejb-local-ref> ??? ??? <!-- 遠程Bean的引用 --> ??? <ejb-ref> ??? ??? <ejb-ref-name>ejb/LocalCustomer</ejb-ref-name> ??? ??? <ejb-ref-type>Entity</ejb-ref-type> ??? ??? <home>com.jj.CustomerHome</home> ??? ??? <remote>com.jj.Customer</remote> ??? </ejb-ref> ??? ??? <!-- 聲明應用的JNDI環境項 --> ??? <env-entry> ??? ??? <env-entry-name>rates/discountRate</env-entry-name> ??? ??? <env-entry-type>java.lang.Integer</env-entry-type> ??? ??? <env-entry-value>10</env-entry-value> ??? </env-entry> ??? ??? <!-- 配置擴展名和MIME類型之間的映射 --> ??? <mime-mapping> ??? ??? <extension>mpg</extension> ??? ??? <mime-type>video/mpeg</mime-type> ??? </mime-mapping> ??? ...... </web-app> --------------------------------------------------------------------------------------------------------------------------------- 過濾器映射: <web-app> ??? ...... ??? <filter> ??? ??? <filter-name>FilterName</filter-name> ??? ??? <filter-class>com.jj.FilterClass</filter-class> ??? ??? <init-param> ??? ??? ??? <param-name>parameterName</param-name> ??? ??? ??? <param-value>parameterValue</param-value> ??? ??? </init-param> ??? </filter> ??? ??? <!-- 聲明相應URL模式的過濾器映射 --> ??? <filter-mapping> ??? ??? <filter-name>FilterName</filter-name> ??? ??? <url-pattern>*.do</url-pattern> ??? </filter-mapping> ??? ??? <!-- 聲明對應servlet名的過濾器映射 --> ??? <filter-mapping> ??? ??? <filter-name>FilterName</filter-name> ??? ??? <servlet-name>ServletName</servlet-name> ??? </filter-mapping> ??? ...... </web-app> --------------------------------------------------------------------------------------------------------------------------------- 授權: <web-app> ??? ...... ??? <security-role> ??? ??? <!-- 對應Tomcat的tomcat-users.xml中設置的角色名 --> ??? ??? <role-name>admin</role-name> ??? </security-role> ??? <login-config> ??? ??? <!-- 四種方式可選 --> ??? ??? <auth-method>BASIC</auth-method> ??? </login-config> ??? <security-constraint> ??? ??? <web-resource-collection> ??? ??? ??? <web-resource-name>Web Security</web-resource-name> ??? ??? ??? <url-pattern>/index.jsp</url-pattern> ??? ??? ??? <http-method>GET</http-method> ??? ??? </web-resource-collection> ??? ??? <auth-constraint> ??? ??? ??? <role-name>admin</role-name> ??? ??? </auth-constraint> ??? ??? <user-data-constraint> ??? ??? ??? <!-- 數據在傳輸過程中不被別人看到 --> ??? ??? ??? <transport-guarantee>CONFIDENTIAL</transport-guarantee> ??? ??? </user-data-constraint> ??? </security-constraint> ??? ...... </web-app> --------------------------------------------------------------------------------------------------------------------------------- 四種認證類型: BASIC:HTTP規范,Base64 <web-app> ??? ...... ??? <login-config> ??? ??? <auth-method>BASIC</auth-method> ??? </login-config> ??? ...... </web-app> DIGEST:HTTP規范,數據完整性強一些,但不是SSL <web-app> ??? ...... ??? <login-config> ??? ??? <auth-method>DIGEST</auth-method> ??? </login-config> ??? ...... </web-app> CLIENT-CERT:J2EE規范,數據完整性很強,公共鑰匙(PKC) <web-app> ??? ...... ??? <login-config> ??? ??? <auth-method>CLIENT-CERT</auth-method> ??? </login-config> ??? ...... </web-app> FORM:J2EE規范,數據完整性非常弱,沒有加密,允許有定制的登陸界面。 <web-app> ??? ...... ??? <login-config> ??? ??? <auth-method>FORM</auth-method> ??? ??? <form-login-config> ??? ??? ??? <form-login-page>/login.jsp</form-login-page> ??? ??? ??? <form-error-page>/error.jsp</form-error-page> ??? ??? </form-login-config> ??? </login-config> ??? ...... </web-app> 登陸頁面表單的action,用戶名,密碼要用統一的名字: <form action="j_security_check"> ??? <input type="text" name="j_username" /> ??? <input type="password" name="j_password" /> ??? <input type="submit" value="enter" /> </form> |
posted on 2009-03-18 21:53 tobyxiong 閱讀(1080) 評論(1) 編輯 收藏 所屬分類: java