Linux上的Tomcat地址映射,且404错误解决
问题:现在想要加一个下载文件功能,但是文件地址不在tomcat的webapps下,需要通过地址映射到tomcat下面再通过链接执行下载文件功能。
解决方法有两种:
方法一:
用方法一的前提是不用启动服务器(因为我不是在windows上面执行操作,而是在linux上面的服务器上面进行文件地址映射),否则通过方法一只是重启tomcat,而不重启服务器就会出现404错误。
方法:找到tomcat-conf-server.xml文件打开,在文件最后Host添加如下<Context />中的代码:(红色的代码是新添加的代码)
<Host name="localhost" appBase="webapps"
unpackWARs="true" autoDeploy="true"> <!-- SingleSignOn valve, share authentication between web applications
Documentation at: /docs/config/valve.html -->
<!--
<Valve className="org.apache.catalina.authenticator.SingleSignOn" />
--> <!-- Access log processes all example.
Documentation at: /docs/config/valve.html
Note: The pattern used is equivalent to using pattern="common" -->
<Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"
prefix="localhost_access_log." suffix=".txt"
pattern="%h %l %u %t "%r" %s %b" />
<Context path="/txt" docBase="/data/txt" reloadable="true" crossContext="true"/> </Host>
含义:若windows中访问localhost:8080/txt/1.txt其实访问的就是D:/data/txt/1.txt文件,也就是说文件实际存放地址是docBase=D:/data/txt/1.txt,浏览器访问地址是path...
若Linux中类似,也就是访问http://39.xxx.xxx.xxx:18010/txt/1.txt,其实访问的就是Linux服务器中的docBase中的文件,这个docBase可以是相对地址也可以是绝对地址。
我是在Linux服务器上进行地址映射的,若改动配置文件,那么仅仅重启tomcat是不行的,需要重启整个服务器才可以,但是服务器上运行东西较多,所以此方法不合适。由此使用方法二。
(令记录下tomcat在服务器上重启的方法:
命令行cd 路径到tomcat/bin 下,执行shutdown.sh是关闭的,之后在执行startup.sh是开启的
//退出路径
cd ..
//进入路径
cd tomcat/bin
//执行文件
./shutdown.sh
./startup.sh
)
(令无意发现若配置tomcat/conf/web.xml,则浏览器打开文件夹时会显示文件列表,否则会报404找不到文件的错误。
<init-param>
<param-name>listings</param-name>
<param-value>true</param-value>
</init-param>
把false改为true,就可以了)
方法二:
此方法不需要启动服务器,也是在linux上操作的。
方法:在tomcat/conf/Catalina/localhost文件夹下新建upload.xml文件(路径不全的新建文件夹补全),写如下代码:
<?xml version="1.0" encoding="UTF-8"?>
<Context docBase="/data/txt" reloadable="true"></Context>
含义:若Linux中访问http://39.xxx.xxx.xxx:18010/upload/1.txt其实访问的就是data/txt/1.txt文件,也就是说文件实际存放地址是docBase=data/txt/1.txt,浏览器访问地址是新建xml的文件名upload...
注:不知什么原因,经过方法二之后文件是可以打开的,但是经过一段时间之后出现404找不到文件的错误,百度了好久都未果,最后重新改一下upload.xml文件名为in.xml,就可以打开文件了,而且可以再换回upload.xml,之后再打开文件就可以了。
最后,我是为了下载文件功能的,有些方法比如window.open方法直接打开文件而不是下载文件,这个是由于浏览器原因,并且要把项目发布到服务器上,我用谷歌就可以下载文件了。
Linux上的Tomcat地址映射,且404错误解决的更多相关文章
- linux上备份Oracle时EXP-00091的错误解决方法
unix/linux上备份Oracle时EXP-00091的错误解决方法 unix/linux上备份数据时的错误解决方法 EXP-00091: Exporting questionable stati ...
- eclipse里访问tomcat首页出现404错误解决之法
首先,添加Tomcat.在菜单栏找到Window—Preferences—Server—Runtime Environments—Add—Apache—选择Tomcat版本—找到Tomcat文件的路径 ...
- linux上监控tomcat down掉后自动重启tomcat
p.p1 { margin: 0.0px 0.0px 0.0px 0.0px; font: 12.0px "Helvetica Neue"; color: #454545 } p. ...
- 转载:JProfiler远程监控LINUX上的Tomcat过程细讲
来源于xuwanbest的博客 所谓"工欲善其事,必先利其器",好的工具确能起到事半工倍的作用.我用到的最多的就两个JConsole 和JProfiler .JConsole监 ...
- IIS7下swfupload上传大文件出现404错误
要求上传附件大小限制在2G,原本以为可以轻松搞定.在编译模式下可以上传大文件,可是在IIS7下(自己架的服务器),一上传大的文件就会出现 Http 404错误,偶尔有的文件还有IO. error错误. ...
- 记一个菜鸟在Linux上部署Tomcat的随笔
以前都只是在园子里找各种资料.文档.各种抱大腿,今天是第一次进园子里来添砖加瓦,实话说,都不知道整些啥东西上来,就把自己在Linux上搭建Tomcat的过程记录下来,人笨,请各位大虾们勿喷. 虽然做开 ...
- JConsole监控Linux上的Tomcat
JConsole监控Linux上的Tomcat 从Java 5开始引入了 JConsole,来监控 Java 应用程序性能和跟踪 Java 中的代码.jconsole是JDK自带监控工具,只需要找到 ...
- 在linux上部署tomcat服务
在linux上部署tomcat 1.安装JDK 2.下载tomcat http://tomcat.apache.org/download-70.cgi 3.上传到服务器,并解压 4.上传war包或者已 ...
- 在Linux上安装tomcat和JDK
1.tomcat的安装 a.#cd download(进入download文件夹) b.#wget http://111.23.5.142:82/mirrors.hust.edu.cn/apache/ ...
随机推荐
- gSOAP calc服务端与客户端示例
1. Web服务定义描述头文件 typedef double xsd__double; int ns__add(xsd__double a, xsd__double b, xsd__double &a ...
- 2018-8-10-win10-uwp-绘图--Line-控件使用
title author date CreateTime categories win10 uwp 绘图 Line 控件使用 lindexi 2018-08-10 19:16:51 +0800 201 ...
- H3C 配置静态及动态域名解析
- 随机抽样 (numpy.random)
随机抽样 (numpy.random) 简单的随机数据 rand(d0, d1, ..., dn) 随机值 >>> np.random.rand(3,2) array([[ 0.14 ...
- H3C端口绑定技术简介
- H3C VLAN显示及维护
- Hamcrest匹配器框架
其实在之前的文章中已经使用过 Hamcrest 匹配器框架,本篇文章将系统的介绍它的使用. 为什么要用Hamcrest匹配器框架 Hamcrest是一款软件测试框架, 可以通过现有的匹配器类检查代码中 ...
- es6笔记 day2---字符串模板及字符串新增
字符串连接案例 注意:引号变了,为键盘数字1旁边的飘花键 以前的老写法是在字符串中加入“+”号,给几个字符串给串起来,那种写法是要死人的. 现在只需加上一对``即可将字符串连接起来 --------- ...
- 与正则有关的JS方法结合其在项目中的应用
与正则有关的JS方法结合其在项目中的应用 前言 最近项目中用到正则匹配比较多,因此打算深入理解和总结下各个与正则有关的方法,再结合在项目中使用的情况.与正则有关的JS方法共有7个,分别是RegExp对 ...
- Next.js 笔记
NEXT 中文文档地址! next.js 只有服务端使用的包需要做单独处理,无需打包到项目中,可以使用@zeit/next-bundle-analyzer观察代码. Router.beforePopS ...