xml中的几个特殊字符
- 使用表中对应的转义序列,必须以分号“;”结尾
- 使用CDATA部件
<![CDATA[ xxx ]]>
<
<
小于号
>
>
大于号
&
&
和
'
’
单引号
"
"
双引号
classpath
java中的classpath:
目的就是告诉Java执行环境,在哪些目录下可以找到你执行的程序所依赖的类或包
javaweb中的classpath
即WEB-INF下面的classes目录,所有src目录下面的java、xml、properties等文件编译后都会在此,所以在开发时常将相应的xml配置文件放于src或其子目录下
src不是classpath, WEB-INF/classes,lib才是classpath
WEB-INF/ 是资源目录, 客户端不能直接访问
classpath:和 classpath*:
-
- 同名资源存在时,classpath: 只从第一个符合条件的classpath中加载资源,而classpath*: 会从所有的classpath中加载符合条件的资源
- classpath*:需要遍历所有的classpath,效率肯定比不上classpath,因此在项目设计的初期就尽量规划好资源文件所在的路径,避免使用classpath*来加载
web.xml
一个web项目部署在服务器(如tomcat),项目启动过程:
- 容器(比如Tomcat)会读web.xml配置文件中的两个节点<listener>和<contex-param>
- 容器创建一个ServletContext(上下文),作为公共环境容器存放公共信息,应用范围内即整个WEB项目都能使用这个上下文
- 容器会将读取到<context-param>转化为键值对,并交给ServletContext
- 容器创建<listener></listener>中的类实例,即创建监听(备注:listener定义的类可以是自定义的类但必须需要继承ServletContextListener)
- 在监听的类中会有一个contextInitialized(ServletContextEvent event)初始化方法,在这个方法中可以通过event.getServletContext().getInitParameter("contextConfigLocation") 来得到context-param 设定的值。在这个类中还必须有一个contextDestroyed(ServletContextEvent event) 销毁方法.用于关闭应用前释放资源,比如说数据库连接的关闭
- 得到这个context-param的值之后,你就可以做一些操作了.注意,这个时候你的WEB项目还没有完全启动完成.这个动作会比所有的Servlet都要早
由上面的初始化过程可知容器对于web.xml的加载过程是context-param >> listener >> fileter >> servlet
作用:该元素用来声明应用范围(整个WEB项目)内的上下文初始化参数。
param-name 设定上下文的参数名称。必须是唯一名称
param-value 设定的参数名称的值
监听器,对ServletContext进行监听,做一些操作
google插件
chrome浏览器安装插件 谷歌访问助手http://www.ggfwzs.com/