列了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>
|