`

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>
分享到:
评论

相关推荐

    DWR.xml配置文件说明书(含源码)

    &lt;creator id="new" class="uk.ltd.getahead.dwr.create.NewCreator"/&gt;DWR已经将这配置到了内置的dwr.xml文件中,并不需要进行额外的配置. Creator通过调用类的默认的构造方法创建实例.应用new creator有以下几个优点:...

    《程序天下:J2EE整合详解与典型案例》光盘源码

    14.4.4 配置本项目的web.xml文件 14.5 编写内容管理系统的JSP页面 14.5.1 用户注册画面regedit.jsp 14.5.2 用户登录画面login.jsp 14.5.3 设定内容类别画面type.jsp 14.5.4 发布内容画面edit.jsp 14.5.5 浏览内容...

    搞定J2EE:STRUTS+SPRING+HIBERNATE整合详解与典型案例 (1)

    14.4.4 配置本项目的web.xml文件 14.5 编写内容管理系统的JSP页面 14.5.1 用户注册画面regedit.jsp 14.5.2 用户登录画面login.jsp 14.5.3 设定内容类别画面type.jsp 14.5.4 发布内容画面edit.jsp 14.5.5 浏览内容...

    搞定J2EE:STRUTS+SPRING+HIBERNATE整合详解与典型案例 (3)

    14.4.4 配置本项目的web.xml文件 14.5 编写内容管理系统的JSP页面 14.5.1 用户注册画面regedit.jsp 14.5.2 用户登录画面login.jsp 14.5.3 设定内容类别画面type.jsp 14.5.4 发布内容画面edit.jsp 14.5.5 浏览内容...

    搞定J2EE:STRUTS+SPRING+HIBERNATE整合详解与典型案例 (2)

    14.4.4 配置本项目的web.xml文件 14.5 编写内容管理系统的JSP页面 14.5.1 用户注册画面regedit.jsp 14.5.2 用户登录画面login.jsp 14.5.3 设定内容类别画面type.jsp 14.5.4 发布内容画面edit.jsp 14.5.5 浏览内容...

    Spring Security 中文教程.pdf

    2.2.1. 配置web.xml 2.2.2. 最小 &lt;http&gt; 配置 2.2.2.1. auto-config 包含了什么? 2.2.2.2. 表单和基本登录选项 2.2.3. 使用其他认证提供器 2.2.3.1. 添加一个密码编码器 2.3. 高级web特性 2.3.1. ...

    web开发常用jar

    web开发常用jar包 常用jar包 commons-beanutils.jar Apache Commons包中的一个,包含了一些Bean工具类类。必须使用的jar包。 commons-collections.jar Apache Commons包中的一个,包含了一些Apache开发的集合类,...

    Java 面试宝典

    1、一个".java"源文件中是否可以包括多个类(不是内部类)?有什么限制? ...... 7 2、Java 有没有 goto? .......................................................................................................

    J2EE学习笔记(J2ee初学者必备手册)

    三、struts-config.xml配置文件中主要的元素和属性.........286 四、RequestProccessor.....................287 五、Struts1的执行流程....................289 六、struts1的高级部分....................290 七、...

    Java/JavaEE 学习笔记

    三、struts-config.xml配置文件中主要的元素和属性.........286 四、RequestProccessor.....................287 五、Struts1的执行流程....................289 六、struts1的高级部分....................290 七、...

    SpringSecurity 3.0.1.RELEASE.CHM

    2.2.1. 配置web.xml 2.2.2. 最小 配置 2.2.2.1. auto-config包含了什么? 2.2.2.2. 表单和基本登录选项 2.2.3. 使用其他认证提供器 2.2.3.1. 添加一个密码编码器 2.3. 高级web特性 2.3.1. Remember-Me认证 ...

    Spring Security-3.0.1中文官方文档(翻译版)

    2.2.1. 配置web.xml 2.2.2. 最小&lt;http&gt; 配置 2.2.2.1. auto-config 包含了什么? 2.2.2.2. 表单和基本登录选项 2.2.3. 使用其他认证提供器 2.2.3.1. 添加一个密码编码器 2.3. 高级web 特性 2.3.1. ...

    J2EE应用开发详解

    内容为J2EE应用开发详解中的源代码 第1章 Java Web应用开发简介 1 1.1 Java EE应用概述 1 1.2 Java EE概念 1 1.2.1 Java EE多层模型 1 1.2.2 Java EE体系结构 2 1.3 Java EE的核心API与组件 4 1.4 Web服务器和应用...

    Spring中文帮助文档

    2.2.2. 更简单的XML配置 2.2.3. 可扩展的XML编写 2.2.4. Annotation(注解)驱动配置 2.2.5. 在classpath中自动搜索组件 2.3. 面向切面编程(AOP) 2.3.1. 更加简单的AOP XML配置 2.3.2. 对@AspectJ 切面的支持 ...

    DWR中文文档.pdf

    web.xml配置 13 2.1 主要配置 13 2.2 常用参数列表 14 2.2.1 安全参数 14 2.2.2 Ajax服务器加载时保护参数 14 2.2.3 其他参数 15 2.3 日志配置 16 2.4 多个dwr.xml配置和J2EE角色定义 ...

    信息系统项目管理师辅导教程(上册)part2

    5.XML在Web Service中的应用 第七章 J2EE与.NET平台 1.J2EE平台简介 2..NET平台简介 3.J2EE和.NET平台的异同 第八章 工作流 1.工作流概述 2.工作流与ERP系统的应用 第九章 软件工具 1.软件建模工具 2.软件开发工具 3...

    Spring API

    2.2.2. 更简单的XML配置 2.2.3. 可扩展的XML编写 2.2.4. Annotation(注解)驱动配置 2.2.5. 在classpath中自动搜索组件 2.3. 面向切面编程(AOP) 2.3.1. 更加简单的AOP XML配置 2.3.2. 对@AspectJ 切面的支持 ...

Global site tag (gtag.js) - Google Analytics