我的java天地

          J2EE中web.xml的常用配置



          列了J2EE中的一些xml配置,當(dāng)然并不全。
          ---------------------------------------------------------------------------------------------------------------------------------
          配置servlet映射關(guān)系:

          <web-app>
          ?? ......
          ?? <servlet>
          ??? ??? <servlet-name>ServletName</servlet-name>
          ??? ??? <servlet-class>com.jj.ServletClass</servlet-class>
          ??? ??? <!-- servlet初始化參數(shù) -->
          ??? ??? <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>
          ---------------------------------------------------------------------------------------------------------------------------------
          配置監(jiān)聽器:

          <web-app>
          ??? ........
          ??? <listener>
          ??? ??? <listener-class>com.jj.MyServletContextListener</listener-class>
          ??? </listener>
          ??? ........
          </web-app>
          ---------------------------------------------------------------------------------------------------------------------------------
          設(shè)置session超時(shí):

          <web-app>
          ??? ........
          ??? <session-config>
          ??? ??? <!-- 以分鐘為單位 -->
          ??? ??? <session-timeout>15</session-timeout>
          ??? </session-config>
          ??? ........
          </web-app>
          ---------------------------------------------------------------------------------------------------------------------------------
          配置應(yīng)用上下文參數(shù):

          <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表達(dá)式語言:

          <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函數(shù)配置:

          TLD(標(biāo)記庫描述文件):
          <taglib>
          ??? <uri>DiceFunctions</uri>
          ??? <function>
          ??? ??? <name>rollIt</name>
          ??? ??? <function-class>foo.DiceRoller</function-class>
          ??? ??? <function-signature>
          ??? ??? ??? int rollDice()
          ??? ??? </function-signature>
          ??? </function>
          </taglib>

          有函數(shù)的類:
          package foo;
          public class DiceRoller{
          ??? public static int rollerDice(){
          ??? ?? return (int)((Math.random()*6)+1);
          ??? }
          }

          JSP中調(diào)用
          <%@ tiglib prefix="mine" uri="DiceFunctions" %>

          <html><body>

          ${mine:rollIt()}

          </body></html>
          ---------------------------------------------------------------------------------------------------------------------------------
          定制錯(cuò)誤頁面:

          根據(jù)異常類型定制錯(cuò)誤頁面:
          <web-app>
          ??? ......
          ??? <error-page>
          ??? ??? <exception-type>java.lang.Throwable</exception-type>
          ??? ??? <location>/error.jsp</location>
          ??? </error-page>
          ??? ......
          </web-app>

          根據(jù)HTTP狀態(tài)碼定制錯(cuò)誤頁面:
          <web-app>
          ??? ......
          ??? <error-page>
          ??? ??? <error-code>404</error-code>
          ??? ??? <location>/error.jsp</location>
          ??? </error-page>
          ??? ......
          </web-app>
          ---------------------------------------------------------------------------------------------------------------------------------
          定制標(biāo)記:

          tld:
          <taglib>
          ??? ......
          ??? <tag>
          ??? ??? <name>loop</name>
          ??? ??? <tag-class>com.pandajj.tag.LoopTag</tag-class>
          ??? ??? <!-- 四個(gè)值可選: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相關(guān)和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>
          ???
          ??? <!-- 遠(yuǎn)程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>
          ???
          ??? <!-- 聲明應(yīng)用的JNDI環(huán)境項(xiàng) -->
          ??? <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>
          ???
          ??? <!-- 配置擴(kuò)展名和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>
          ???
          ??? <!-- 聲明相應(yīng)URL模式的過濾器映射 -->
          ??? <filter-mapping>
          ??? ??? <filter-name>FilterName</filter-name>
          ??? ??? <url-pattern>*.do</url-pattern>
          ??? </filter-mapping>
          ???
          ??? <!-- 聲明對(duì)應(yīng)servlet名的過濾器映射 -->
          ??? <filter-mapping>
          ??? ??? <filter-name>FilterName</filter-name>
          ??? ??? <servlet-name>ServletName</servlet-name>
          ??? </filter-mapping>
          ??? ......
          </web-app>
          ---------------------------------------------------------------------------------------------------------------------------------
          授權(quán):

          <web-app>
          ??? ......
          ??? <security-role>
          ??? ??? <!-- 對(duì)應(yīng)Tomcat的tomcat-users.xml中設(shè)置的角色名 -->
          ??? ??? <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>
          ??? ??? ??? <!-- 數(shù)據(jù)在傳輸過程中不被別人看到 -->
          ??? ??? ??? <transport-guarantee>CONFIDENTIAL</transport-guarantee>
          ??? ??? </user-data-constraint>
          ??? </security-constraint>
          ??? ......
          </web-app>
          ---------------------------------------------------------------------------------------------------------------------------------
          四種認(rèn)證類型:

          BASIC:HTTP規(guī)范,Base64
          <web-app>
          ??? ......
          ??? <login-config>
          ??? ??? <auth-method>BASIC</auth-method>
          ??? </login-config>
          ??? ......
          </web-app>

          DIGEST:HTTP規(guī)范,數(shù)據(jù)完整性強(qiáng)一些,但不是SSL
          <web-app>
          ??? ......
          ??? <login-config>
          ??? ??? <auth-method>DIGEST</auth-method>
          ??? </login-config>
          ??? ......
          </web-app>

          CLIENT-CERT:J2EE規(guī)范,數(shù)據(jù)完整性很強(qiáng),公共鑰匙(PKC)
          <web-app>
          ??? ......
          ??? <login-config>
          ??? ??? <auth-method>CLIENT-CERT</auth-method>
          ??? </login-config>
          ??? ......
          </web-app>

          FORM:J2EE規(guī)范,數(shù)據(jù)完整性非常弱,沒有加密,允許有定制的登陸界面。
          <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,用戶名,密碼要用統(tǒng)一的名字:
          <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 閱讀(1081) 評(píng)論(1)  編輯  收藏 所屬分類: java

          評(píng)論

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

          謝謝 keep moving  回復(fù)  更多評(píng)論   

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

          導(dǎo)航

          統(tǒng)計(jì)

          常用鏈接

          留言簿(3)

          隨筆分類(144)

          隨筆檔案(157)

          相冊(cè)

          最新隨筆

          搜索

          積分與排名

          最新評(píng)論

          閱讀排行榜

          評(píng)論排行榜

          主站蜘蛛池模板: 西青区| 平昌县| 韩城市| 无锡市| 安顺市| 珲春市| 龙胜| 黄石市| 万年县| 康保县| 济宁市| 章丘市| 泰州市| 镇平县| 泗洪县| 新安县| 吉首市| 封丘县| 马鞍山市| 安达市| 井陉县| 甘德县| 梧州市| 鄱阳县| 乌兰浩特市| 清水河县| 堆龙德庆县| 万全县| 荥阳市| 清水县| 唐河县| 会东县| 承德县| 兰溪市| 沂源县| 蒲江县| 宜春市| 扶风县| 深水埗区| 邯郸市| 广平县|