- 浏览: 258340 次
- 性别:
- 来自: 苏州
文章分类
- 全部博客 (289)
- java (72)
- oracle (3)
- mysql (5)
- spring (28)
- hibernate (2)
- osgi (0)
- linux (2)
- ExtJs (1)
- jvm (0)
- mybatis (7)
- 分布式 (11)
- MINA (6)
- apache+tomcat (13)
- js+htm (7)
- android (44)
- http (1)
- hbase+hdoop (0)
- memcache (13)
- search (27)
- 部署及性能 (12)
- mongoDB (2)
- 多线程 (12)
- 安全管理验证 (9)
- struts (1)
- webservice (0)
- easyUI (1)
- spring security (16)
- pattern (6)
- 算法 (2)
最新评论
-
lzh8189146:
CommonsHttpSolrServer这个类,现在是不是没 ...
CommonsHttpSolrServer -
xiaochanzi:
我按照你的方法试了下,tomcat6可以发布,但是访问任何网页 ...
基于内嵌Tomcat的应用开发 -
phoneeye:
麻烦你,如果是抄来的文章,请给出来源。谢谢
ant 两则技巧 -
neverforget:
转载不注明出处
Spring Security3.1登陆验证 替换 usernamepasswordfilter -
liang1022:
若不使用eclipse ,如何在命令行下 运行服务端程序 ?
WebService CXF学习(入门篇2):HelloWorld
转载:http://hi.baidu.com/%B9%C2%D0%C4sby/blog/item/b43a7ff31dc6c703b17ec507.html 本章介绍如何在Tomcat上创建和发布Web应用。这里首先讲解Tomcat的目录结构以及Web应用的目录结构,接着介绍如何将HTML、Servlet、JSP和Tag Library部署到Web应用中,然后介绍把整个Web应用打包并发布的方法,最后介绍如何在Tomcat上配置虚拟主机。 本章侧重于讨论Web应用的结构和发布方法,所以没有对本章的Servlet和JSP的例子进行详细解释,关于Servlet和JSP的技术可以分别参考其它章节的内容。 2.1 Tomcat的目录结构 在Tomcat上发布Web应用之前,首先要了解Tomcat的目录结构。Tomcat的目录结构参见表2-1,这些目录都是的子目录。 表2-1 Tomcat的目录结构 目 录 描 述 /bin 存放在Windows平台 以及Linux平台上启动 和关闭Tomcat的脚本文件 /server 包含3个子目录: classes(空目录)、lib和webapps /common/lib 存放Tomcat服务器以及所有 Web应用都可以访问的JAR文件 从表2-1可以看出,在/server/lib目录、/common/lib和/shared/lib目录下都可以放JAR文件,它们的区别在于: 在/server/lib目录下的JAR文件只可被Tomcat服务器访问 在/shared/lib目录下的JAR文件可以被所有的Web应用访问,但不能被Tomcat服务器访问 /common/lib目录下的JAR文件可以被Tomcat服务器和所有Web应用访问 此外,对于下面将要介绍的Java Web应用,在它的WEB-INF目录下,也可以建立lib子目录,在lib子目录下可以放各种JAR文件,这些JAR文件只能被当前Web应用访问。 在以上提到的lib目录下都只接受JAR文件,如果类压缩文件为ZIP文件,应该将它展开,重新打包为JAR文件再拷贝到lib目录中。如果直接将ZIP文件拷贝到lib目录,则会发现Tomcat服务器仍然找不到相关的类。 2.2 创建和发布Web应用 Java Web应用由一组静态HTML页、Servlet、JSP和其他相关的class组成。每种组件在Web应用中都有固定的存放目录。Web应用的配置信息存放在web.xml文件中。在发布某些组件(如Servlet)时,必须在web.xml文件中添加相应的配置信息。 2.2.1 Web应用的目录结构 Web应用具有固定的目录结构,这里假定开发一个名为helloapp的Web应用。首先,应该在/webapps目录下创建这个Web应用的目录结构,参见表2-2。 表2-2 Web应用的目录结构
/helloapp/WEB-INF 存放Web应用的发布描述文件web.xml 从表2-2中,我们看到在classes以及lib子目录下,都可以存放Java类文件。在运行过程中,Tomcat的类装载器先装载classes目录下的类,再装载lib目录下的类。因此,如果两个目录下存在同名的类,classes目录下的类具有优先权。 在helloapp应用中创建了如下组件: HTML组件:index.htm JSP组件:login.jsp和hello.jsp Servlet组件:DispatcherServlet 这些组件之间的链接关系为: index.htm→login.jsp→DispatcherServlet→hello.jsp 图2-1 helloapp应用的目录结构 图2-2 helloapp应用在Windows资源管理器中的展开图
Java Web应用通过一个基于XML的发布描述符文件来配置其发布信息,这个文件名为web.xml,它存放于WEB-INF子目录下。 在web.xml文件中可包含如下配置信息: 1、Servlet的定义 2、Servlet的初始化参数 3、Servlet以及JSP的映射 4、安全域配置参数 5、welcome文件清单 6、资源引用 7、环境变量的定义 现在,创建一个默认的web.xml文件,并把这个文件放到WEB-INF目录中。
<!DOCTYPE web-app PUBLIC //文档类型 <web-app> //一个元素 以上web.xml文件的第一行指定了XML的版本和字符编码,第二行DOCTYPE指定文档类型,接下来声明了一个元素,所有关于Web应用的配置元素都将加入到这个元素中。 2.2.3 在server.xml中加入元素 元素是/conf/server.xml中使用最频繁的元素,它代表了运行在上的单个Web应用。一个中可以有多个元素。每个Web应用必须有惟一的URL路径,这个URL路径在元素的path属性中设定。例如,在名为"localhost"的元素中加入如下元素: <!-- Define the default virtual host --> </Host> Context元素的各个属性的说明参见表2-3。 表2-3 Context元素的属性
docBase reloadable 在开发阶段,将reloadable属性设为true,有助于调试Servlet和其他的class文件。但是由于这一功能会加重服务器的运行负荷,因此建议在Web应用的产品发布阶段,将这个属性设为false。 |
2.2.4 部署HTML文件
在helloapp目录下加入index.htm文件,这个文件仅仅用来显示一串带链接的字符"Welcome to HelloApp", 它链接到login.jsp文件。以下是index.htm文件的代码:
访问index.htm的URL为 http://localhost:8080/helloapp/index.htm,该页面的显示结果如图2-3所示。 图2-3 index.htm 2.2.5 部署JSP 接下来,创建两个JSP文件,其中一个是login.jsp(参见例程2-1),它显示登录页面,要求输入用户名和口令,这个页面链接到一个名为DispatcherServlet的Servlet。 还有一个JSP文件是hello.jsp(参见例程2-2),这个JSP被DispatcherServlet调用,显示Hello页面。JSP的语法将在第4章详细讨论,本节侧重于介绍JSP的发布过程。这两个JSP文件都应放在helloapp目录下。 例程2-1 login.jsp
例程2-2 hello.jsp
login.jsp中生成了一个loginForm表单,它有两个字段:username和passoword。访问login.jsp的URL为http://localhost:8080/helloapp/login.jsp,它生成的页面如图2-4所示。 图2-4 login.jsp网页 2.2.6 部署Servlet 下面,创建一个Servlet文件,名为DispatcherServlet.java(参见例程2-3),它调用HttpServletRequest对象的getParameter方法读取客户提交的loginForm表单数据,获取用户名和口令,然后将用户名和口令保存在HttpServletRequest对象的属性中,再把请求转发给hello.jsp。 例程2-3 DispatcherServlet.java
编译并发布DispatcherServlet的步骤如下。 (1)编译DispatcherServlet.java。编译时,需要将Java Servlet API的JAR文件(servlet-api.jar)设置为classpath,servlet-api.jar文件位于/common/lib目录下。 (2)把编译出来的class文件拷贝到/helloapp/WEB_INF/classes目录下。DispatcherServlet.class的存放位置为/helloapp/WEB_INF/classes/mypack/DispatcherServlet。 在本例中,声明将DispatcherServlet类放在包mypack下,所以应该在/WEB_INF/classes目录下先创建子目录/mypack,然后在子目录下放DispatcherServlet.class文件。 (3)接下来在web.xml中为DispatcherServlet类加上和元素。
元素的属性描述参见表2-4。 在本例配置中,没有为DispatcherServlet设置load-on-startup属性,因此当Web应用启动时,Servlet容器不会加载这个Servlet,只有当Web客户首次访问这个Servlet时才加载它。 表2-4 元素的属性
元素用来指定和映射。是指访问Servlet的相对URL路径。 根据以上属性,访问DispatcherServlet的URL为http://localhost:8080/ helloapp/dispatcher,DispatcherServlet接受到客户请求后,再把请求转发给hello.jsp,hello.jsp生成的页面如图2-5所示。 图2-5 DispatcherServlet调用hello.jsp生成的网页 2.2.7 部署JSP Tag Library 最后,在Web应用中加入Tag Library(标签库)。Tag Library向用户提供了自定义JSP标签的功能。我们将定义一个名为mytaglib的标签库,它包含了一个简单的hello标签,这个标签能够将JSP页面中所有的解析为字符串"hello"。以下是创建和发布mytaglib标签库的步骤。 (1)编写用于处理hello标签的类HelloTag.java,例程2-4列出了HelloTag.java的源代码。 例程2-4 HelloTag.java
编译HelloTag.java时,需要将jsp-api.jar文件添加到classpath中,这个JAR文件位于/common/lib目录下。编译生成的HelloTag.class存放位置为/WEB-INF/classes/mypack/HelloTag.class。 (2)创建Tag Library的描述文件mytaglib.tld文件,在这个文件中定义mytaglib标签库和hello标签。这个文件存放位置为/WEB-INF/mytaglib.tld。例程2-5列出了mytaglib.tld的源代码。 例程2-5 mytaglib.tld
(3)在web.xml文件中加入元素,例程2-6列出了修改后的web.xml文件。 例程2-6 加入元素的web.xml
中包含两个属性和。其中指定Tag Library标示符;指定Tag Library的描述文件(TLD)的位置。 (4)在hello.jsp文件中加入hello标签。首先,在hello.jsp中加入引用mytaglib的taglib指令:
以上taglib指令中,prefix用来指定引用mytaglib标签库时的前缀,修改后的hello.jsp文件参见例程2-7。 例程2-7 加入Tag标签的hello.jsp
hello.jsp修改后,再依次访问index.htm→login.jsp→DispatcherServlet→hello.jsp,最后生成的网页如图2-6所示。 |
发表评论
-
tomcat 学习
2012-05-28 08:39 573http://blog.163.com/haizai219@1 ... -
xml加载顺序
2012-05-28 08:38 603http://czb128abc.blog.163.com/b ... -
tomcat eclipse 启动 设置 JAVA_HOME
2012-04-14 19:12 921对于使用IDE开发的程序员来讲,并不是所有人都对自己用来 ... -
Tomcat DBCP 连接池参数列表
2012-04-12 08:02 718Tomcat DBCP 连接池参数列表 分 ... -
在J2EE Web 应用中使用基于CAPTCHA 的授权模块
2012-04-06 08:49 1003在J2EE Web 应用中使用基于CAPTCHA 的授权 ... -
[转载]Tomcat类加载机制
2012-03-29 08:32 536[转载]Tomcat类加载机制 To ... -
基于内嵌Tomcat的应用开发
2012-03-20 08:15 3908基于内嵌Tomcat的 ... -
Tomcat中详细配置数据源及其原理解析
2012-02-14 13:04 754Tomcat中数据源的配置及原理 一:数据源 ... -
Tomcat6 中使用Jndi获取数据库连接
2012-03-20 08:15 874很久没有使用jndi进行开发了,近期有个老的项目维护发 ... -
apache workers.properties
2012-02-12 18:53 1468[转]http://hi.baidu.com/youdia ... -
apache+tomcat 集成 下载jk
2012-02-12 18:09 642http://mirror.bjtu.edu.cn h ... -
Apache+Tomcat集群配置负载均衡器
2012-02-12 12:50 1331首先非常感谢这位朋友发的帖子。这也是让我成功的让Apache和 ...
相关推荐
《Tomcat与Java Web开发技术详解》语言深入浅出、通俗易懂,无论对于Java Web开发的新手还是行家来说,《Tomcat与Java Web开发技术详解》都是精通Tomcat和开发Java Web应用的必备的实用手册。《Tomcat与Java Web开发...
《Tomcat与Java Web开发技术详解(第2版)》结合最新的Tomcat 6版本,详细介绍了开发Java Web应用的各种技术。主要内容包括:Tomcat和Java Web开发的基础知识、Java Web开发的高级技术、在Java Web应用中运用第三方...
Tomcat与Java Web开发技术详解(孙卫琴、李洪成 著)
《Tomcat与Java Web开发技术详解》是孙卫琴老师撰写的一本深入解析Java Web开发和Tomcat服务器的著作,其第二版进一步更新了内容,提供了更为详尽的指导。这本书针对初学者和有一定经验的开发者,旨在帮助读者掌握...
《Tomcat与Java Web开发技术详解》是一本深入解析Tomcat服务器和Java Web开发的经典教程。书中通过丰富的实例,详细介绍了如何使用Tomcat作为应用服务器进行Web应用的部署和管理,以及如何使用Java语言和相关技术来...
《Tomcat与Java Web开发技术详解(第2版)》是一本深入探讨Java Web应用程序部署和运行环境的权威指南。本书主要围绕Apache Tomcat服务器展开,涵盖了从基础概念到高级特性的全方位讲解,旨在帮助读者掌握Java Web...
Tomcat与Java Web开发技术详解(孙卫琴、李洪成 著).part3
Tomcat与Java Web开发技术详解(孙卫琴、李洪成 著).part1.rar 总3部分
《Tomcat与Java Web开发技术详解(第2版)》是孙卫琴先生撰写的一本经典教程,专注于讲解如何使用Apache Tomcat服务器进行Java Web应用的开发。这本书深入浅出地介绍了Tomcat的基础架构、配置、优化以及故障排查,同时...
Tomcat与Java Web开发技术详解(孙卫琴、李洪成 著).part3 一共有三部分,需要集齐才能解压!!!!!!
《Tomcat与Java Web开发技术详解(第2版)》是由孙卫琴编著的一本深入探讨Java Web开发和Tomcat应用服务器的经典书籍。这本书详细介绍了如何使用Tomcat进行Java Web应用程序的部署和运行,是Java开发者的重要参考资料...
Tomcat与java web 开发技术详解-
### Tomcat与Java Web开发技术详解 #### 一、Tomcat简介 Tomcat是一款开源的Servlet容器,由Apache软件基金会下属的Jakarta项目开发。它实现了对Servlet和JavaServer Pages (JSP)的支持,可以作为独立的应用服务器...
主要内容包括:Tomcat和Java Web开发的基础知识、Java Web开发的高级技术、在Java Web应用中运用第三方提供的实用软件(如Struts、Velocity和Log4J)的方法,以及Tomcat的各种高级功能。 书中内容注重理论与实践相...
孙卫琴 Tomcat与Java Web开发技术详解(第2版)源代码,希望对你有帮助。 本来想与PDF书一起提交,但想有些人已下载了书,没有源代码,所以分开了。
《Tomcat与Java Web开发技术详解(第2版)》是一本深入探讨如何使用Tomcat进行Java Web应用程序开发的专业书籍。Tomcat作为Apache软件基金会的一个开源项目,是世界上最流行的Java Servlet容器之一,广泛用于部署...
Tomcat与Java Web开发技术详解(孙卫琴、李洪成 著)
《Tomcat与Java Web开发技术详解(第二版)》是由知名IT专家孙卫琴编著的一本深入解析Tomcat和Java Web开发的经典教程。这本书详细介绍了如何使用Tomcat服务器进行Java Web应用程序的开发、部署和优化,是Java Web...