JavaWeb开发:WEB应用程序
JavaWEB应用程序
WEB应用程序指供浏览器访问的程序,通常也简称为web应用。
一个web应用由多个静态web资源和动态web资源组成,如:
- html、css、js文件
- Jsp文件、java程序、支持jar包、
- 配置文件
- ……
Web应用开发好后,若想供外界访问,需要把web应用所在目录交给web服务器管理,这个过程称之为虚似目录的映射。
JavaWEB应用的组成结构
开发web应用时,不同类型的文件有严格的存放规则,否则不仅可能会使web应用无法访问,还会导致web服务器启动报错。
web.xml文件
通过web.xml文件,可以将web应用中的:
- 某个web资源配置为网站首页
- 将servlet程序映射到某个url地址上
- 为web应用配置监听器
- 为web应用配置过滤器
- 但凡涉及到对web资源进行配置,都需要通过web.xml文件
注意:web.xml文件必须放在web应用\WEB-INF目录下。
虚似目录的映射方式
在server.xml文件的host元素中配置,例如:
在Tomcat6中,不再建议在server.xml文件中配置context元素,细节查看tomcat服务器关于context元素的说明。
让tomcat自动映射: tomcat服务器会自动管理webapps目录下的所有web应用,并把它映射成虚似目录。换句话说,tomcat服务器webapps目录中的web应用,外界可以直接访问。
Web组件的URL
无论是开放式目录结构还是打包文件方式发布web应用,web应用的默认URL入口都是Web应用的根目录名。
例如要访问MyApp应用,它的URL入口为/MyApp,如访问本地服务http://localhost:8080/MyApp(http://127.0.0.1:8080/MyApp)
配置虚似主机(搭建网站)
假如两家公司Web应用都发布在同一个Tomcat服务器上,可以为每家公司分别创建一个虚拟主机
- www.itcast.cn
- www.it315.org
尽管以上两个虚拟主机位于同一个主机,但是当客户通过以上两个不同虚拟主机名访问Web应用时,会感觉到这两个应用分别拥有独立的主机
1.配置Window中的ip
配置的主机(网站)要想被外部访问,必须在DNS服务器或windows系统中注册。
C:\Windows\System32\drivers\etc\hosts,例如
192.168.71.1 www.keng.com
2.如需在WEB服务器中配置一个网站,需使用Host元素进行配置,例:
<Host name=”www.keng.com” appBase=”c:\keng”>
<Context path="/mail" docBase="c:\keng\mail" />
</Host>
3.将webapp配置成缺省(默认),省略对外访问路径path属性
<Host name=”lol.qq.com” appBase=”c:\app”>
<Context path="" docBase="c:\keng\mail" />
</Host>
4.将index.html设置成首页
在c:\keng\mail目录下,新建WEB-INF目录,在WEB-INF目录下,新建web.xml文件,配置xml文件
<?xml version="1.0" encoding="ISO-8859-1"?>
<web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee
http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd"
version="3.1">
<welcome-file-list>
<welcome-file>index.html</welcome-file>
</welcome-file-list>
</web-app>
web资源访问图
Tomcat的组成结构
Tomcat本身由一系列可配置的组件构成,其中核心组件是Servelt容器组件,它是所有其他Tomcat组件的顶层容器。每个组件都可以在Tomcat安装目录/conf/server.xml文件中进行配置,每个Tomcat组件在server.xml文件中对应一种配置元素。以下用XML的形式展示了各种Tomcat组件之间的关系:
Tomcat体系架构
Context元素
Tomcat6.x提供了多种配置<Context>元素的途径。当其加载一个web应用时,会依次按照以下五种方式尝试查找Web应用的<Context>元素,直到找到为止:
1、到Tomcat安装目录/conf/context.xml文件中查找<Context>元素。
2、到Tomcat安装目录/conf/[enginename]/[hostname]/context.xml.default文件中查找<Context>元素。
- [enginename]:表示<Engine>的name属性
- [hostname]:表示<Host>的name属性。
3、到Tomcat安装目录/conf/[enginename]/[hostname]/[contextpath].xml文件中查找<Context>元素。
- [contextpath]:表示单个Web应用的URL入口。
4、到Web应用的META-INF/context.xml文件中查找<Context>元素。
5、到Tomcat安装目录/conf/server.xml文件中查找<Context>元素。只适用于单个Web应用。
如果仅仅为单个Web应用配置<Context>元素,可以优先采用第三种配置方式。
Web
用Tomcat的管理平台管理Web应用的生命周期
Tomcat的管理平台是Tomcat本身的一个Web应用,管理平台对应manager应用,它位于Tomcat安装目录/webapps/manager目录下。
manager应用会对用户进行安全验证。它要求用户具有manager角色。因此,应该先在Tomcat中添加具有manager角色的用户信息,方法为打开Tomcat安装目录/conf/tomcat-users.xml文件,在其中增加以下内容:
<tomcat-users>
<role rolename=”manager”/>
<user username=”tomcat” password=”tomcat” roles=”manager”/>
</tomcat-users>