我的java天地

          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

          評論

          # re: J2EE中web.xml的常用配置 2012-03-16 12:00 yxs

          謝謝 keep moving  回復  更多評論   

          <2009年3月>
          22232425262728
          1234567
          891011121314
          15161718192021
          22232425262728
          2930311234

          導航

          統計

          常用鏈接

          留言簿(3)

          隨筆分類(144)

          隨筆檔案(157)

          相冊

          最新隨筆

          搜索

          積分與排名

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 沈丘县| 称多县| 宜宾县| 锦屏县| 沁阳市| 雅安市| 阿瓦提县| 思南县| 麟游县| 黔西| 班玛县| 柳州市| 云南省| 井冈山市| 武城县| 曲阜市| 平定县| 宁强县| 五河县| 通渭县| 柳河县| 瑞丽市| 沛县| 谷城县| 保定市| 常熟市| 罗田县| 江北区| 宜川县| 门源| 南汇区| 怀远县| 宣恩县| 邵东县| 吴川市| 咸宁市| 英山县| 常熟市| 伊通| 遵义市| 建始县|