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