在学习完第三章后(第三章提供的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. [NOIP模拟赛][贪心]奶牛晒衣服.

    奶牛晒衣服(dry) [问题描述] 在熊大妈英明的带领下,时针和它的同伴生下了许多牛宝宝.熊大妈决定给每个宝宝都穿上可爱的婴儿装.于是,为牛宝宝洗晒衣服就成了很不爽的事情. 圣人王担负起了这个重任.洗 ...

  2. C语言中<CR>是什么意思

    在文本处理中, CR, LF, CR/LF是不同操作系统上使用的换行符.Dos和windows采用回车+换行CR/LF表示下一行, 而UNIX/Linux采用换行符LF表示下一行,苹果机(MAC OS ...

  3. Tiny4412在Ubuntu下给MiniTools添加快捷方式

    解压MiniTools-Linux-20140317.tgz root@ubuntu:~/tiny4412/MiniTools-# ls -l total -rw-r--r-- root root M ...

  4. 基于Prometheus,Alermanager实现Kubernetes自动伸缩

    到目前为止Kubernetes对基于cpu使用率的水平pod自动伸缩支持比较良好,但根据自定义metrics的HPA支持并不完善,并且使用起来也不方便. 下面介绍一个基于Prometheus和Aler ...

  5. 41个linux命令大全(鸟哥的私房菜)

    转http://www.xmws.cn/show-87-419-1.html 41个linux命令大全 发布作者:微思网络   发布时间:2017-01-10   浏览量:709次 学过linux的人 ...

  6. org.apache.hadoop.ipc.RemoteException: User: root is not allowed to impersonate root

    修改 core-site.xml文件 vim /usr/local/hadoop/etc/hadoop/core-site.xml 增加: <property> <name>h ...

  7. java-selenium(二)富文本编辑框的处理

    首先先看一下什么是富文本编辑框 HTML源码 思路:首先先进入到iframe中,再用js写,最后切出iframe 如果想要换行可以在换行的地方加上<br> 如果添加的文本中包含单引号.双引 ...

  8. [Functional Programming] Read and Transform Values from a State ADT’s State (get)

    Many times we need to access and transform state, either in part or in full, to be used when calcula ...

  9. std::multimap 按照key遍历---

    #include <iostream> #include <unordered_map> using namespace std; int main() { unordered ...

  10. vue-router push

    //push 方法一 对象 // this.$router.push({path:'HelloWorld2'}); //push 方法二 命名的路由 // this.$router.push({nam ...