在学习完第三章后(第三章提供的web应用是helloaapp,我将其放到了tomcat/webapps中),对Context元素的作用理解不深;但是当进入第四章后,发现第四章提供的源码包中也有一个叫helloapp的web应用实例。这下就遇到问题了:

如果要使用第四章提供的helloapp实例,那么势必也要将此目录放到tomcat/webapps中,这样就和第三章上已放入此目录中的同名目录冲突了。怎么办?总不能用哪个才放哪个吧?这样也太麻烦了。 于是,我想到了第三章介绍的Context元素,书上说利用此元素可以“更加灵活地发布web应用”。

我是这样做的:

1.删除tomcat/webapps中被我放置的helloapp目录;

2.找到随书的CD中对应源代码的目录位置(注:我已经将CD的内容全盘拷贝到/media/Develop/Apache+PHP+MySql_Develop/TomCat+JAVADEV_CD目录),即第三章的helloapp的位置是:/media/Develop/Apache+PHP+MySql_Develop/TomCat+JAVADEV_CD/data/sourcecode/chapter03/helloapp;而第四章的helloapp的位置是:/media/Develop/Apache+PHP+MySql_Develop/TomCat+JAVADEV_CD/data/sourcecode/chapter04/helloapp

3.定义context文件:tomcat/conf/Catalina/localhost/helloapp3.xml 和 tomcat/conf/Catalina/localhost/helloapp4.xml

在tomcat/conf/Catalina/localhost/helloapp3.xml中编写内容为:<Context path="/helloapp3" docBase="/media/Develop/Apache+PHP+MySql_Develop/TomCat+JAVADEV_CD/data/sourcecode/chapter03/helloapp" reloadable="true"/>

在tomcat/conf/Catalina/localhost/helloapp4.xml中编写内容为:<Context path="/helloapp4" docBase="/media/Develop/Apache+PHP+MySql_Develop/TomCat+JAVADEV_CD/data/sourcecode/chapter04/helloapp" reloadable="true"/>

4.这样,就可以产生如下效果了:

当访问 http://localhost:8080/helloapp3/login.htm,就可以访问上述 chapter03/helloapp中的对应文件了;

当访问http://localhost:8080/helloapp4/info?username=tom,就可以访问上述 chapter04/helloapp中的对应文件了(当然,这里是遵循了对应的web.xml中的相关配置,进而访问到servlet类了);

哈哈,这样以后就轻松咯......

《TomCat与Java Web开发技术详解》(第二版) 第三章节的学习总结--利用Context元素来自定义web应用的存储位置的更多相关文章

  1. 《Tomcat与Java Web开发技术详解》思维导图

    越想构建上层建筑,就越觉得底层基础很重要.补课系列. 书是良心书,就是太基础了,正适合补课. [纯文字版] Tomcat与Java Web开发技术详解 Servlet Servlet的生命周期 初始化 ...

  2. 《TomCat与Java Web开发技术详解》(第二版) 第五章节的学习总结 ---- Servlet的高级用法

    这一章节主要是介绍了Servlet技术的一些高级用法,如下是我自己的整理归纳 1.下载文件:即获取服务器文件,并把文件写入反馈给客户端 ServletContext.getResourceAsStre ...

  3. 《TomCat与Java Web开发技术详解》(第二版) 第四章节的学习总结--常用Servlet API

    要开发Servlet,自然要掌握常用的servlet的相关API.通过此章节的学习,了解到如下常用API 1.Servlet接口--->GenericServlet抽象类(实现Servlet接口 ...

  4. 《TomCat与Java Web开发技术详解》(第二版) 第八章节的学习总结 -- 访问mysql

    终于学到如何访问Mysql了 1. 可以看看此章节提供的sql脚本,以后可以照着写了.此外,对于Mysql如何使用,最好的地方就是其官网介绍了.http://dev.mysql.com/doc/ref ...

  5. 《TomCat与Java Web开发技术详解》(第二版) 第六章节的学习总结 ---- JSP技术

    第六章主要介绍了JSP的相关知识. 1.JSP:是通过在HTML文件中加入java程序片段(Java Scriptlet)和JSP标记,就构成了JSP文件.JSP实质上是Servlet.JSP的API ...

  6. 《TomCat与Java Web开发技术详解》(第二版) 第六章节对应CD附带的helloapp无法启动的问题解决

    首先记录一下如何解决此章节CD中附带的helloapp无法启动的问题 我用的tomcat版本是:7.0.47:为了便于控制,针对此章节的helloapp,我在tomcat/conf/Catalina/ ...

  7. 《TomCat与Java Web开发技术详解》(第二版) 第一章节的学习总结--HTTP组成+基本访问方式

    1.需要看懂HTML文件中的组成元素的基本含义.不同的组成元素,可以使得HTML支持文本,图片(img,将图片发给客户端),静态音频/视频(embed src,将音频视频发给客户端),超链接(href ...

  8. hadoop应用开发技术详解

    <大 数据技术丛书:Hadoop应用开发技术详解>共12章.第1-2章详细地介绍了Hadoop的生态系统.关键技术以及安装和配置:第3章是 MapReduce的使用入门,让读者了解整个开发 ...

  9. 《Hadoop应用开发技术详解》

    <Hadoop应用开发技术详解> 基本信息 作者: 刘刚 丛书名: 大数据技术丛书 出版社:机械工业出版社 ISBN:9787111452447 上架时间:2014-1-10 出版日期:2 ...

随机推荐

  1. hdu 1015 Safecracker 水题一枚

    题目链接:HDU - 1015 === Op tech briefing, 2002/11/02 06:42 CST === "The item is locked in a Klein s ...

  2. iOS 7.1 arm64 编辑报错 警告解决办法

    昨天把我的4S更新到iOS7.1,今天发下需要更新Xcode到5.1,发现打包项目Archive的时候,多了一堆警告和错误,很是郁闷. 郁闷没有用,作为一个合格的程序员,要学会淡定!看看警告和错误的大 ...

  3. 打包工具 使用帮助 inno setup

    http://wenku.baidu.com/link?url=0VRJ8n9am1KgVAAqwz-AU1htXamo7Vh0d4QIdGG6_LcTrZBdb7lRim8Jx6M8KaLJDQm1 ...

  4. idea设置断点,对于for循环,到指定次数时停止

    断点处右键 参考:https://www.w3cschool.cn/intellij_idea_doc/intellij_idea_doc-hn272f6k.html https://www.w3cs ...

  5. LAMP中php配置

    内容概要:一.  php配置1. 配置disable_functiondisable_functions = eval,assert,popen,passthru,escapeshellarg,esc ...

  6. ISP模块之RAW DATA去噪(二)--BM3D算法

    在正式开始本篇文章之前,让我们一起回顾一下CFA图像去噪的一些基本思路与方法.接着我会详细地和大家分享自己学习理解的BM3D算法,操作过程,它的优缺点,最后会给出算法效果图供参考. 在ISP模块里,研 ...

  7. Litepal 数据库操作框架的使用 (火)

    LitePal是GitHub上一款开源的Android数据库框架. 它採用了对象关系映射(ORM)的模式,将平时开发时最经常使用的一些数据库功能进行了封装.使得开发人员不用编写一行SQL语句就能够完毕 ...

  8. 2017.7.21 linux下进程管理工具supervisord的安装与使用

    参考来自:http://blog.haohtml.com/archives/15145 0 操作环境 1 supervisord的介绍 Supervisord是用Python实现的一款非常实用的进程管 ...

  9. HTML5 Canvas 奔跑的小狗

    效果如上图,共六个图像切换,形成小狗动态奔跑效果.完整代码和图片请从  https://files.cnblogs.com/files/xiandedanteng/runningDog.rar 下载. ...

  10. @classmethod, @staticmethod和@property这三个装饰器的使用对象是在类中定义的函数。下面的例子展示了它们的用法和行为:

    class MyClass(object): def __init__(self): self._some_property = "properties are nice" sel ...