2013-07-17 15:14 12843人阅读 评论(4) 收藏 举报
 分类:
web 开发(5) 

版权声明:本文为博主原创文章,欢迎转载分享,请保留原文地址。

平时一般都是在myeclipse上直接把项目加载至tomcat服务器的webApp目录进行项目的部署,

但是这样子有不方便的地方,如果是已经部署了很多个项目,包之间有冲突的话,一个个remove掉很麻烦,而且还占空间。

可以使用tomcat的conf目录下的server.xml配置文件进行web项目的映射部署,把不在webApp目录的项目部署运行起来。

具体方法是打开tomcat下conf/server.xml,在<Host> </Host>标签之间输入项目配置信息。一个例子如下:

<Host name="localhost"  appBase="webapps" unpackWARs="true" autoDeploy="true"  xmlValidation="false" xmlNamespaceAware="false">

<!-- 配置方法<Context path="/访问目录名" docBase="e:/项目/WebRoot" debug="0" reloadable="true"/>-->

<!-- 第一个项目-->
        <Context path="/struts" docBase="D:\Struts2\WebRoot" reloadable="true"> 
        </Context>

<!--第二个项目-->
        <!--
        <Context path="/robot" docBase="D:\My Documents\MyEclipseWorkspace\robot\WebRoot" reloadable="true">
        </Context> 
        -->  
      </Host>

上面的几个配置参数的含义如下:

path:浏览器访问时的路径名,如第一个项目,浏览器访问时路径名是(我的是80端口):localhost/struts/index.jsp

docBase:web项目的WebRoot所在的路径,注意是WebRoot的路径,不是项目的路径。

debug:值为0的话,表示不打印日志

reloadble:设定项目有改动时,tomcat是否重新加载该项目

以映射的方式部署项目,优点是很明显的,节约了空间,而且想要不加载其他项目时,只需要注释掉配置就可以,需要再用的时候只需取消

注释就行,这在开发中是很方便的。

有一点要注意的是,如果是用Notepad++或者其他编辑器改写server.xml时,注意一定要以utf-8的编码方式保存,否则启动tomcat时会提示

com.sun.org.apache.xerces.internal.impl.io.MalformedByteSequenceException: Invalid byte 2 of 2-byte UTF-8 sequence.的错误。

这一点原因可见http://blog.csdn.net/lcjackson/article/details/8014932

或者如下内容:

1、今天在MyEclipse项目中部署项目的时候出现错误:com.sun.org.apache.xerces.internal.impl.io.MalformedByteSequenceException: Invalid byte 2 of 2-byte UTF-8 sequence.

 

2、分析:发现自己修改tomcat的conf/server.xml文件的时候,用的editPlus保存的,保存时候的编码是ANSI,和xml文件声明的文件编码不一致。这个问题的主要原因是xml文件中声明的编码与xml文件本身保存时的编码不一致。

比如你的声明是<?xml version="1.0" encoding="UTF-8"?>  

但是却以ANSI格式编码保存,尽管并没有乱码出现,但是xml解析器是无法解析的。

3、解决办法就是重新设置xml文件保存时的编码与声明的一致,改过保存编码重新保存后,问题解决了。

Tomcat 利用server.xml进行文件映射的部署

请问高人
    如何在项目里面的JSP页面显示D盘的图片,项目部署在E 盘,就是说 图片不是放在项目下的文件夹?

  

1、今天在MyEclipse项目中部署项目的时候出现错误:com.sun.org.apache.xerces.internal.impl.io.MalformedByteSequenceException: Invalid byte 2 of 2-byte UTF-8 sequence.

 

2、分析:发现自己修改tomcat的conf/server.xml文件的时候,用的editPlus保存的,保存时候的编码是ANSI,和xml文件声明的文件编码不一致。这个问题的主要原因是xml文件中声明的编码与xml文件本身保存时的编码不一致。

比如你的声明是<?xml version="1.0" encoding="UTF-8"?>  

但是却以ANSI格式编码保存,尽管并没有乱码出现,但是xml解析器是无法解析的。

3、解决办法就是重新设置xml文件保存时的编码与声明的一致,改过保存编码重新保存后,问题解决了。

Tomcat 利用server.xml进行其他盘符的其他项目映射的部署以及JSP引用其他盘符的图片(虚拟目录及虚拟路径)的更多相关文章

  1. 本机tomcat的server.xml被还原的问题及解决办法

    将tomcat的server.xml进行修改,但当eclipse发布站点后,发布tomcat中的server.xml会被还原. 原因是eclipse会将自己的tomcat配置文件对tomcat覆盖,解 ...

  2. Tomcat配置(二):tomcat配置文件server.xml详解和部署简介

    */ .hljs { display: block; overflow-x: auto; padding: 0.5em; color: #333; background: #f8f8f8; } .hl ...

  3. Tomcat(二):tomcat配置文件server.xml详解和部署简介

    Tomcat系列文章:http://www.cnblogs.com/f-ck-need-u/p/7576137.html 1. 入门示例:虚拟主机提供web服务 该示例通过设置虚拟主机来提供web服务 ...

  4. CentOS磁盘用完的解决办法,以及Tomcat的server.xml里无引用,但是项目仍启动的问题

    这是我2018年的第一篇博客...人真是懒了啊...最近在写微信小程序,觉得小程序做的也... 好了不吐槽了,言归正传 前言: 由于我之前不是买了个三年的香港服务器么 , 之前广州2的服务器我就没有续 ...

  5. 配置Tomcat的server.xml以适应web-content文件系统的位置改变

    刚才把写的一对jsp.html文件夹改变了位置,然后测试的时候出现了404 后来思考,应该去重新配置tomcat的server.xml文件,修改虚拟路径对应的文件系统路径,修改为当前对应的文件系统路径 ...

  6. Tomcat配置 —— server.xml

    Tomcat的核心组件是servlet容器. Tomcat各个组件之间的嵌套关系 server.xml配置如下: <Server port="8005" shutdown=& ...

  7. OSChina.net 的 Tomcat 配置 server.xml 参考

    这是目前 oschina.net 正在使用的 tomcat 的 server.xml 的配置文件内容 <Server port="9005" shutdown="S ...

  8. tomcat中server.xml配置详解(转载)(一)

    转载自:https://www.cnblogs.com/starhu/p/5599773.html tomcat中server.xml配置详解 Tomcat Server的结构图如下:(该文件描述了如 ...

  9. Tomcat配置文件server.xml分析

    本文力求,分析清楚 tomcat 的 server.xml 文件,逐步完善更新 常用来,配置tomcat启动,端口号:配置编码等. apache-tomcat-9.0.10/conf/server.x ...

随机推荐

  1. 利用Sharding-Jdbc实现分表

    你们团队使用SpringMVC+Spring+JPA框架,快速开发了一个NB的系统,上线后客户订单跟雪花一样纷沓而来. 慢慢地,你的心情开始变差,因为客户和产品的抱怨越来越频繁,抱怨的最多的一个问题就 ...

  2. MySQL 主从复制

    1 复制概述 Mysql内建的复制功能是构建大型,高性能应用程序的基础.将Mysql的数据分布到多个系统上去,这种分布的机制,是通过将Mysql的某一台主机的数据复制到其它主机(slaves)上,并重 ...

  3. iOS关于通知传值Bool类型的注意点

    比如: [[NSNotificationCenter defaultCenter] postNotificationName:@"Notification_Name" object ...

  4. C++实例讲解Binder通信

    binder是android里面的通信机制,这就不说它如何如何好了,Goog已经说过了,这里不多说.binder是一个面向对象的编程方法,大量使用虚函数类.最近研究binder看到一网友写的,就借鉴一 ...

  5. java.lang.String.getBytes(String charsetName)方法实例

    java.lang.String.getBytes(String charsetName) 方法编码将此String使用指定的字符集的字节序列,并将结果存储到一个新的字节数组. 声明 以下是java. ...

  6. [Top-Down Approach] Chatper 3 Notes

    这里留下空白,提醒自己,第一章第二章尚待整理回顾. 此处缺了3.6/3.7两节拥塞控制的内容

  7. Usual tiny skills & solutions

    Ubuntu and Win10 - double OS 2016-02-21 Yesterday I helped my friend install Ubuntu (14.04 LTS) on h ...

  8. 堆排序(python实现)

    堆排序是利用最大最或最小堆,废话不多说: 先给出几个概念: 二叉树:二叉树是每个节点最多有两个子树的树结构.通常子树被称作“左子树”(left subtree)和“右子树” 完全二叉树:除最后一层外, ...

  9. [原]CentOS7 部署GeoServer2.92

    转载请注明作者think8848和出处(http://think8848.cnblogs.com) 1. 安装Jre 1. 安装ftp客户端 sudo yum install ftp -y 2. 登录 ...

  10. webBrowser1

    HTMLDocument类的引用 using mshtml;