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. 简易版自定义BaseServlet

    这几天在学Java Web,一直在思考Servlet重用的问题,就用java的反射机制实现自定义的简易版BaseServlet; 该方式有点像struts2 利用映射获取前端的参数.有兴趣的同学可以自 ...

  2. Node.js 教程 06 - 函数

    前言: 本篇介绍的是Node.js中的函数,相对于上一篇会简单一点,其实和我们Javascript中的function无异. 好了,废话不多说了,我们进入正题吧. Node.js函数: [示例1:创建 ...

  3. [Bind(Exclude = "OrderId")][ScaffoldColumn(false)]

    [Bind(Exclude = "OrderId")] 的意思是:View里的Model,在你提交给 Action时,不会绑定到Action的参数Model,默认它会绑定. mvc ...

  4. MySQL Performance-Schema(三) 实践篇

    前一篇文章我们分析了Performance-Schema中每个表的用途,以及主要字段的含义,比较侧重于理论的介绍.这篇文章我主要从DBA的角度出发,详细介绍如何通过Performance-Schema ...

  5. 0034 Java学习笔记-反射-初步2-操作对象

    通过反射创建对象 通过反射创建对象有两种方式,一种通过Class对象的newInstance()方法,一种是获取到Class对象的Constructor后,再调用newInstance()方法,前者要 ...

  6. mysql比较时间大小unix_timestamp

    使用unix_timestamp方法进行比较,将字符型的时间,转成unix时间戳 select * from t1 where unix_timestamp(time1) > unix_time ...

  7. python-open文件处理

    python内置函数open()用于打开文件和创建文件对象 语法 open(name[,mode[,bufsize]]) name:文件名 mode:指定文件的打开模式 r:只读 w:写入 a:附加 ...

  8. java.util.ConcurrentModificationException 解决办法(转载)

    今天在项目的中有一个需求,需要在一个Set类型的集合中删除满足条件的对象,这时想当然地想到直接调用Set的remove(Object o)方法将指定的对象删除即可,测试代码:   public cla ...

  9. java中的SPI机制

    1 SPI机制简介 SPI的全名为Service Provider Interface.大多数开发人员可能不熟悉,因为这个是针对厂商或者插件的.在java.util.ServiceLoader的文档里 ...

  10. 30天的php学习之路——第一天开端

    因项目紧急只留给了我4周时间学习php.谨以此文记录我的php学习历程,仅供参考,若有错误请指正. 之前对php有过一些了解,一些语法和习惯和C#差距有些大,所以第一天准备对php中的符号有个全面的了 ...