Jetty配置虚拟目录,实现把web项目发布到自定义目录,指定指定上下文访问;jetty编码修改
2019-12-31 17:28:38
一般只需要把java站点文件夹或*.war文件拷贝到web server的webapps文件夹下,即可启动运行该站点,但更多时候,我们并不想拷贝站点,而是希望web在server文件夹之外运行,这时就需要配置虚拟目录了。不同的webserver配置虚拟目录的方式不太一样,这里的配置方法仅针对tomcat和jetty.
1、tomcat:找到并打开tomcat目录下的conf/server.xml文件,在host小节中添加以下配置即可:
<context path="/myvpath" debug="0" docbase="d:/mywebtest" reloadable="true">
</context>
当然如果不想修改server.xml文件,也可以把虚拟目录的配置作为单独的文件添加到相应的目录中,server.xml中缺省都会有localhost的配置,那么相应的也存在conf/catalina/localhost文件夹,在此文件夹下添加一个xml文件,内容为以下即可:
1 <?xml version='1.0' encoding='utf-8'?> 2 <context path="/myapp" docbase="d:/mywebtest" debug="1" reloadable="true" > 3 </context>
path属性配置的是虚拟目录的名称,docbase配置的是站点的真实路径。
2、jetty:jetty的全局配置文件在etc/jetty.xml中,可以直接在此配置文件中设置虚拟目录,但一般不建议这么做,推荐的做法是创建独立的配置文件。在contexts目录下创建新的xml文件,内容如下:
1 <?xml version="1.0" encoding="iso-8859-1"?> 2 <!doctype configure public "-//mort bay consulting//dtd configure//en" "http://jetty.mortbay.org/configure.dtd"> 3 <configure class="org.mortbay.jetty.webapp.webappcontext"> 4 <set name="configurationclasses"> 5 <array type="java.lang.string"> 6 <item>org.mortbay.jetty.webapp.webinfconfiguration</item> 7 <item>org.mortbay.jetty.plus.webapp.envconfiguration</item> 8 <item>org.mortbay.jetty.plus.webapp.configuration</item> 9 <item>org.mortbay.jetty.webapp.jettywebxmlconfiguration</item> 10 <item>org.mortbay.jetty.webapp.taglibconfiguration</item> 11 </array> 12 </set> 13 <set name="contextpath">/forward</set> 14 <set name="baseresource"> 15 <new class="org.mortbay.resource.resourcecollection"> 16 <arg> 17 <array type="java.lang.string"> 18 <item>d:/jetty-6.1.26/mxci.forward</item> 19 </array> 20 </arg> 21 </new> 22 </set> 23 </configure>
项目配置根据自己实际环境进行配置然后启动jetty, 完成。
;3、jetty默认编码修改
jetty6.1.21 eclipse插件,默认的编码采用的utf8,非iso-8859-1(tomcat默认是iso-8859-1),从而会引出get请求参数乱码问题。
jetty与tomcat不同,不是在xml配置文件中修改,可以在jvm参数中加入:dorg.mortbay.util.uri.charset=iso8859-1即可~
完成
上一篇: 魔术师发牌问题 -- python实现
下一篇: day 28-1 元类