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/ ...
随机推荐
- cp拷贝
1 cp 拷贝.复制 NAME cp - copy files and directories SYNOPSIS cp [OPTION]... [-T] SOURCE DEST -- c ...
- Java Integer类的缓存
首先看一段代码(使用JDK 5),如下: public class Hello { public static void main(String[] args) { int a = 1000, b = ...
- 浅谈集合框架二 List、Set常用方法
最近刚学完集合框架,想把自己的一些学习笔记与想法整理一下,所以本篇博客或许会有一些内容写的不严谨或者不正确,还请大神指出.初学者对于本篇博客只建议作为参考,欢迎留言共同学习. 之前有介绍集合框架的体系 ...
- linux 字符设备注册
如我们提过的, 内核在内部使用类型 struct cdev 的结构来代表字符设备. 在内核调用你 的设备操作前, 你编写分配并注册一个或几个这些结构. [11] 11为此, 你的代码应当包含 < ...
- linux预备知识
我们正在接近去看一些实际的模块代码. 但是首先, 我们需要看一些需要出现在你的模块 源码文件中的东西. 内核是一个独特的环境, 它将它的要求强加于要和它接口的代码上. 大部分内核代码包含了许多数量的头 ...
- P1020 从大到小排序
题目描述 给你n个整数,请你按照从大到小的顺序输出它们. 输入格式 输入的第一行包含一个整数 \(n(1 \le n \le 10^3)\) ,用于表示元素的个数. 输入的第二行包含 \(n\) 个整 ...
- 2018-11-8-WPF-获取下载内容长度
title author date CreateTime categories WPF 获取下载内容长度 lindexi 2018-11-08 20:18:15 +0800 2018-11-08 20 ...
- Postman:非专业的并发测试
Postman是开发中常用的接口测试工具,也可以用来进行并发测试. 使用方法如下: 1. 直接输入url 选择GET方法,点击Send. 结果打印一个"test",如下: 2. 使 ...
- Linux 内核释放函数和 kobject 类型
讨论中仍然缺失的一个重要事情是当一个 kobject 的引用计数到 0 时会发生什么. 创建 kobject 的代码通常不知道什么时候要发生这个情况; 如果它知道, 在第一位使用一个引 用计数就没有意 ...
- HDU 6623 Minimal Power of Prime(数学)
传送门 •题意 给你一个大于 1 的正整数 n: 它可以分解成不同的质因子的幂的乘积的形式,问这些质因子的幂中,最小的幂是多少. •题解 把[1,10000]内的素数筛出来,然后对于每个素$P$数遍历 ...