`

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

相关推荐

    J2EE中关于web.xml文件的配置

    "J2EE 中关于 web.xml 文件的配置" 在 J2EE 中,web.xml 文件扮演着非常重要的角色,它是一个基于 XML 的配置文件,用于描述 Web 应用的各个方面的配置信息。通过 web.xml 文件,我们可以对 Web 应用进行配置,例如...

    web.xml配置详解

    以上介绍了`web.xml`中几个常用的标签及其配置方法。正确地配置这些标签对于Web应用程序的正常运行至关重要。需要注意的是,随着技术的发展,一些功能可能已经可以通过注解等方式实现,但在某些场景下`web.xml`仍然...

    Web应用开发j2ee教学大纲.doc

    《Web应用开发技术》课程是Java软件开发方向的专业核心课程,着重讲解J2EE(Java 2 Enterprise Edition)的关键技术和应用。课程旨在让学生理解和掌握J2EE开发平台的基本概念,特别是其中的Servlet、JSP、JDBC、会话...

    J2EE5.0API.chm,notepad++

    标题中的“J2EE5.0API.chm”和描述中的相同内容暗示了这是一个关于Java企业版(Java EE)5.0版本的API参考手册,通常以CHM(Compiled HTML Help)格式提供,这是一种常见的Windows平台上的离线帮助文档格式。...

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

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

    J2ee and Xml Development.pdf

    2. **Web服务**:XML是Web服务的主要数据传输格式,J2EE提供了强大的Web服务支持。 3. **数据交换**:在不同系统之间交换数据时,XML是一种非常流行的格式。 4. **元数据存储**:在J2EE应用程序中,XML经常被用来...

    J2ee学习轨迹.txt

    - **MVC模式**:理解MVC(Model-View-Controller)设计模式,并学会如何在Java Web应用中实现。 - **Spring框架**:深入了解Spring框架的核心概念,如依赖注入(DI)、面向切面编程(AOP)等。 - **高级主题**: - ...

    WebLogic配置代理转发.pdf

    在WebLogic的配置文件中,有几种方式可以实现代理转发,最常用的是通过修改weblogic.xml和web.xml文件来配置。 首先,weblogic.xml文件通常位于Web应用的WEB-INF目录下,它定义了WebLogic特有的应用部署信息。在这...

    J2EE and XML Development

    1. **配置文件**:许多J2EE框架和工具使用XML作为配置文件的格式,例如Web.xml、beans.xml等。 2. **数据交换**:XML常被用作不同系统之间交换数据的标准格式。 3. **Web服务**:SOAP(Simple Object Access ...

    精品专题(2021-2022年收藏)J2EE开发常用框架..doc

    Java EE(以前称为J2EE)开发框架是构建企业级应用程序的重要工具,这些框架帮助开发者组织和管理复杂的项目,提高代码的可维护性和可测试性。以下是对标题和描述中提及的两个主要框架——Struts和Spring的详细解释...

    《程序天下: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开发常用框架.docx

    当用户发送请求时,控制器(Controller)会根据struts-config.xml配置文件中的信息转发请求给相应的Action。 2. **视图(View)**:视图由一组与控制器Servlet协同工作的JSP自定义标签库组成,用于构建应用的用户界面...

    搞定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 -- 字符编码问题

    本文将围绕如何解决J2EE中的字符编码问题展开讨论,包括了解字符编码的基础概念、如何在Servlet过滤器中设置字符编码以及如何在`web.xml`配置文件中进行相关设置。 #### 一、字符编码基础概念 字符编码是将字符...

    J2EE and web service PPT

    此外,J2EE还支持XML技术,用于数据交换和配置,以及JDBC API用于数据库访问,CORBA技术用于不同系统间的互操作性。通过这些工具和框架,J2EE为企业应用提供了全面的解决方案,使得开发人员可以更专注于业务逻辑的...

    j2EE常用jar包讲解

    在Java企业级开发中,J2EE(Java 2 Platform, Enterprise Edition)是核心框架,它提供了一系列标准和API来构建分布式、多层的企业应用。本篇将详细讲解四个重要的J2EE相关库:Dom4j、Hibernate、Spring以及Struts,...

    搞定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 浏览内容...

Global site tag (gtag.js) - Google Analytics