- 浏览: 22723 次
- 性别:
- 来自: 广州
最近访客 更多访客>>
最新评论
-
guoyanxi:
感谢,正准备考
IBM AIX认证资料(含000-103&000-104题库) -
nrxqq:
不是很懂
Swing中的线程探究-1
概述
在Web应用中,有着其一定的文件和目录结构,其中有个十分重要的文件叫部署描述符(如web.xml),这些文件一般都使用XML进行描述,并且对整个应用起着支撑作用。
考试中这部分的内容的考察是重中之重,希望大家予以重视。
web.xml配置中的常规配置
各种常规的配置主要有:
1)该web.xml文件的版本等信息描述,如:
<web-app version="2.5" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"> </web-app>
2)显示名称、描述信息、会话超时,如:
<web-app> <description>这是一个样例web.xml</description> <display-name>web.xml Examples</display-name> <session-config> <session-timeout>30</session-timeout> </session-config> </web-app>
3)上下文初始化参数, 当一个Web应用启动的时候,服务器会先去读其配置文件中的<context-param>和<listener>元素,这样我们就可以在项目未启动的时候初始化一些参数,比如如果需要在项目启动前打开数据库,这时就可以在<context-param>中配置数据库的连接方式,然后在<listener>中初始化数据库来进行连接,最后再在Listener类中销毁数据库的资源,如:
<web-app> <context-param> <description>在项目启动时初始化该参数</description> <param-name>init-param</param-name> <param-value>param-value</param-value> </context-param> </web-app>
4)Web应用的监听程序,如:
<web-app> <listener> <description>负责监听请求</description> <listener-class>listener.MyRequestListener</listener-class> </listener> </web-app>
web.xml配置中的Servlet配置
关于Servlet类的创建在前面的章节已经介绍过,当完成Servlet类的代码后,还需要在web.xml中配置,下面是一个比较完整的Servlet类的配置,如:
<web-app> <servlet> <description>这是一个输出Hello world的Servlet</description> <servlet-name>HelloWorldServlet</servlet-name> <servlet-class>servlet.HelloWorldServlet</servlet-class> <init-param> <description>指定字符编码方式</description> <param-name>encoding</param-name> <param-value>gb2312</param-value> </init-param> <load-on-startup>10</load-on-startup> <!--以下是Servlet的安全配置--> <!--注意必须先在安全配置那里设定好角色才行,详细见后续章节中的安全配置--> <run-as> <role-name>admin</role-name> </run-as> <security-role-ref> <description>管理员用户</description> <role-name>admin</role-name> <role-link>admin</role-link> </security-role-ref> </servlet> <servlet-mapping> <servlet-name>HelloWorldServlet</servlet-name> <url-pattern>/HelloWorldServlet</url-pattern> </servlet-mapping> </web-app>
web.xml配置中的过滤器配置
过滤器的编写在前面的《SCWCD之路——Servlet技术》 已经介绍过,这里不再赘述。过滤器在web.xml中的配置主要包括过滤器的元素和过滤器的映射,如:
<web-app> <filter> <description>对客户端请求统一编码</description> <filter-name>EncodingFilter</filter-name> <filter-class>filter.EncodingFilter</filter-class> <init-param> <description>初始化参数</description> <param-name>init-param</param-name> <param-value>param-value</param-value> </init-param> </filter> <filter-mapping> <filter-name>EncodingFilter</filter-name> <!--这里表示所有页面和请求动作都进行过滤--> <url-pattern>/*</url-pattern> <dispatcher>REQUEST</dispatcher> <dispatcher>FORWARD</dispatcher> <dispatcher>INCLUDE</dispatcher> <dispatcher>ERROR</dispatcher> </filter-mapping> </web-app>
web.xml配置中的页面配置
1)欢迎页面,主要指打开项目时的默认打开页面的优先级别,如:
<web-app> <welcome-file-list> <welcome-file>admin.jsp</welcome-file> <welcome-file>index.jsp</welcome-file> </welcome-file-list> </web-app>
2) 错误页面,这里需要注意的是错误代码和异常类型不能同时被配置 。如果同时配置了则默认使用异常类型,下面的例子是为了全面介绍才把两者都同时罗列了出来,如:
<web-app> <error-page> <exception-type>Exception</exception-type> <error-code>404</error-code> <location>/error.jsp</location><!—注意必须以/开始--> </error-page> </web-app>
3)JSP的属性组,这是在JSP 2.0才出现的,比如对于一些Web应用来说,Scriptlets是不希望出现的东西,因为它们混淆了Java代码和HTML代码,使得程序的维护十分麻烦,这个时候就可以使用属性组来限定它,另外EL也能被禁止出现,如:
<web-app> <jsp-config> <jsp-property-group> <description>给所有JSP页面做一些限定</description> <display-name>JSP属性组</display-name> <url-pattern>*.jsp</url-pattern> <page-encoding>gb2312</page-encoding> <!--因为是介绍,所以在这里把所有的都列出来--> <scripting-invalid>true</scripting-invalid> <el-ignored>true</el-ignored> <is-xml>true</is-xml> <deferred-syntax-allowed-as-literal>true</deferred-syntax-allowed-as-literal> <trim-directive-whitespaces>true</trim-directive-whitespaces> </jsp-property-group> </jsp-config> </web-app>
4)标记库描述文件(tld),当使用EL或自定义标签时常常需要自己编写TLD文件,写完TLD文件之后需要在web.xml中说明,如:
<web-app> <jsp-config> <taglib> <taglib-uri>http://localhost/tlds/mytag.tld</taglib-uri> <taglib-location>/WEB-INF/tlds/mytag.tld</taglib-location> </taglib> </jsp-config> </web-app>
web.xml配置中的引用配置
1)资源引用,如:
<web-app> <resource-ref> <description>这是一个资源引用</description> <res-ref-name>资源引用名称</res-ref-name> <!--资源引用的类型有四种--> <!--javax.jms.ConectionFactory--> <!--javax.mail.Session--> <!--javax.net.URL--> <res-type>javax.sql.DataSource</res-type> <!--资源认证方式有两种--> <!--Application--> <res-auth>Container</res-auth> <!--共享范围有两种--> <!--Unshareable--> <res-sharing-scope>Shareable</res-sharing-scope> </resource-ref> </web-app>
2)资源环境引用
<web-app> <resource-env-ref> <description>这是一个资源环境引用</description> <resource-env-ref-name>资源名称</resource-env-ref-name> <!--资源环境引用一共有两种类型--> <!--javax.jms.Topic--> <resource-env-ref-type>javax.jms.Queue</resource-env-ref-type> </resource-env-ref> </web-app>
3)EJB引用
<web-app> <ejb-ref> <description>这是一个EJB引用</description> <ejb-ref-name>EJB引用名称</ejb-ref-name> <!--EJB的引用类型有Session和Entity两种--> <ejb-ref-type>Session</ejb-ref-type> <home>home interface</home> <remote>remote interface</remote> <ejb-link>链接的EJB</ejb-link> </ejb-ref> </web-app>
4)本地EJB引用
<web-app> <!--本地EJB引用--> <ejb-local-ref> <description>本地EJB引用</description> <ejb-ref-name>EJB引用名</ejb-ref-name> <ejb-ref-type>Entity</ejb-ref-type> <local-home>local home interface</local-home> <local>local interface</local> </ejb-local-ref> </web-app>
5)消息目标引用
<web-app> <message-destination-ref> <description>这是一个消息目标引用</description> <message-destination-ref-name>引用名</message-destination-ref-name> <!--消息目标引用的类型有两种--> <!--javax.jms.Topic--> <message-destination-type>javax.jms.Queue</message-destination-type> <!--消息用法有三种--> <!--Produces--> <!--ConsumesProduces--> <message-destination-usage>Consumes</message-destination-usage> <message-destination-link>指消息目标的链接</message-destination-link> </message-destination-ref> </web-app>
web.xml配置中的安全配置
1)登录配置,登录配置的方式有四种,详细请见《SCWCD之路——Web应用的安全性》 ,这里只给出一个简单的例子,如:
<web-app> <login-config> <auth-method>BASIC</auth-method> <realm-name>这是一个BASIC认证</realm-name> </login-config> </web-app>
2)安全角色配置,安全角色可以由程序员根据Web应用的需要而创建各种安全角色,比如下面是一个创建管理者的角色的例子,如:
<web-app> <security-role> <description>管理者角色</description> <role-name>admin</role-name> </security-role> </web-app>
3)安全约束配置,安全约束是为了约束某些资源的被访问而创建的,一个Web应用可以根据需要创建多种不同的安全约束,如:
<web-app> <security-constraint> <display-name>安全约束的名称</display-name> <!--受限资源--> <web-resource-collection> <web-resource-name>管理者的页面</web-resource-name> <description>限制其他用户访问管理页面</description> <!--被保护的资源,一般是一些JSP页面--> <url-pattern>admin/*.jsp</url-pattern> <!--受保护的访问方法,可以保护多种访问方法--> <http-method>GET</http-method> <http-method>POST</http-method> </web-resource-collection> <!--授予权限,表明那些身份可以访问上述受保护资源--> <auth-constraint> <description>允许访问该资源的角色</description> <role-name>admin</role-name> </auth-constraint> <!--用户数据约束--> <user-data-constraint> <description>这是用户数据约束</description> <!--下面是传输保证类型,一共有三种--> <!--NONE、INTEGRAL、CONFIDENTIAL--> <transport-guarantee>NONE</transport-guarantee> </user-data-constraint> </security-constraint> </web-app>
web.xml配置中的其他配置
1)让Web应用支持集群服务器,除了要让所有放入session中的对象都实现序列化接口外,还要在web.xml中进行配置以告诉容器,如:
<web-app> <distributable /> </web-app>
2)配置MIME的对应元素,让容器知道某种文件对应的MIME类型,如:
<web-app> <mime-mapping> <!--让后缀名为mpg的文件对应到MIME类型为video/mpeg--> <extension>mpg</extension> <mime-type>video/mpeg</mime-type> </mime-mapping> </web-app>
发表评论
-
SCWCD之路——结束语
2010-01-12 19:46 1244写到这里,整个专题终于告一段落了。总的来说,S ... -
SCWCD之路——附加内容
2010-01-12 19:32 907介绍 ... -
SCWCD之路——表达式语言
2010-01-12 18:55 1023介绍 EL(Expressio ... -
SCWCD之路——标准标签库开发
2010-01-11 20:58 913介绍 JSTL(JSP ... -
SCWCD之路——自定义标签库开发
2010-01-11 16:45 936介绍 ... -
SCWCD之路——J2EE设计模式
2010-01-11 15:15 1399概述 J2EE目前的设计模式有 ... -
SCWCD之路——Web应用的安全性
2010-01-10 16:14 1397概述 Servlet技术规范规 ... -
SCWCD之路——JSP技术
2010-01-09 12:05 1289JSP介绍 ... -
SCWCD之路——Servlet技术
2010-01-08 20:48 1222Servlet技术介绍 Ser ... -
SCWCD之路——前言
2010-01-07 20:43 1019SCWCD(Sun Certified Web ...
相关推荐
本篇文章将探讨“SCWCD之路——Web应用的安全性”,并结合提供的文件`catalina.jar`和`tomcat-juli.jar`,深入讲解相关的安全知识点。 首先,让我们理解`catalina.jar`和`tomcat-juli.jar`。这两个文件都是Apache ...
标题“SCWCD之路——结束语”表明这是一个关于SCWCD认证学习的总结或结语。SCWCD,全称Sun Certified Web Component Developer,是Oracle(原Sun Microsystems)推出的一个Java Web开发领域的专业认证,主要考察...
标题“SCWCD之路——前言”暗示了这是一个关于SCWCD(Sun Certified Web Component Developer)认证的学习历程或指南的开篇部分。SCWCD是Java EE(现在称为Jakarta EE)开发人员的一个专业认证,它专注于Web组件的...
"SCWCD之路——标准标签库开发"是一个关于Java Web开发中的重要主题,特别是与Servlet、JSP和自定义标签库相关的知识。SCWCD(Sun Certified Web Component Developer)是Oracle公司提供的一个Java Web开发认证,它...
Servlet充当了Web服务器和应用程序之间的桥梁,处理HTTP请求并生成HTTP响应。Servlet的主要功能包括接收客户端请求、处理业务逻辑、访问数据库以及生成动态内容。在SCWCD认证中,考生需要掌握Servlet生命周期、服务...
SCWCD,全称为Sun Certified Web Component Developer,是Sun Microsystems(现为Oracle的一部分)提供的一个专业认证,主要针对Java Web应用开发中的Servlets和JavaServer Pages (JSP)技术。这个认证测试开发者在...
SCWCD,全称Sun Certified Web Component Developer,是Oracle(原Sun Microsystems)推出的Java EE(企业版)认证考试之一,主要考察开发者在构建Web应用程序方面的能力,包括Servlet、JSP、JSTL、EL表达式语言等...
9. **部署描述符**:web.xml是Web应用程序的部署描述符,用于配置应用程序的各种元素。理解和编写web.xml对于配置Servlet、过滤器和监听器至关重要。 10. **Java EE容器**:理解Web应用程序是如何在应用服务器(如...
部署描述符(web.xml)是配置Web应用的关键文件,用于指定Servlet的映射、初始化参数和过滤器等。 八、数据库连接和JDBC 了解如何使用JDBC(Java Database Connectivity)进行数据库操作,包括数据库连接、执行SQL...
9. **部署描述符**(web.xml):理解应用配置文件的作用,学会设置Servlet、过滤器和监听器的配置。 10. **JPA和Hibernate**:虽然不是SCWCD考试的直接内容,但理解ORM(对象关系映射)技术,如JPA和Hibernate,...
【SCWCD(Sun Certified Web Component Developer)模拟试题2】主要关注的是Web应用程序中的用户自定义功能和事件监听器的应用。题目中提到,网站允许用户定制字体和颜色偏好,IT部门已经利用Java SE平台的lang.util...
SCWCD(Sun Certified Web Component Developer)是Oracle公司(原Sun Microsystems)推出的针对J2EE平台的Web组件开发的专业认证,对于希望深入理解和熟练掌握Java Web应用开发的开发者来说,这是一个重要的里程碑...
SCWCD考试通常包括选择题、填空题和代码编写题,涉及的知识点广泛且深入,要求考生对Web应用开发有扎实的理解。 1. **Servlet技术**:Servlet是Java EE中的核心组件,用于处理HTTP请求。你需要理解Servlet生命周期...
8. **Web应用程序部署描述符**(web.xml):学习如何编写和配置web.xml文件,它是Java web应用程序的核心配置文件。 9. **JNDI(Java Naming and Directory Interface)**:了解如何使用JNDI查找和绑定资源,如...
- **WAR文件**:阐述了WAR(Web Application Archive)文件的结构和用途,以及如何使用WAR文件部署Web应用。 - **部署描述符**:深入研究了web.xml文件,它是Web应用的核心配置文件,用于定义应用的结构和行为。 #...
使用这样的工具,考生可以更好地理解和掌握Servlet、JSP的使用,以及如何构建和部署Java Web应用程序,从而提高通过考试的可能性。 总之,SCWCD 310-083认证是Java Web开发者的宝贵资质,它证明了开发者具备创建...