Linux上的Tomcat地址映射,且404错误解决

问题:现在想要加一个下载文件功能,但是文件地址不在tomcat的webapps下,需要通过地址映射到tomcat下面再通过链接执行下载文件功能。

解决方法有两种:

方法一:

用方法一的前提是不用启动服务器(因为我不是在windows上面执行操作,而是在linux上面的服务器上面进行文件地址映射),否则通过方法一只是重启tomcat,而不重启服务器就会出现404错误。

方法:找到tomcat-conf-server.xml文件打开,在文件最后Host添加如下<Context />中的代码:(红色的代码是新添加的代码)

 1       <Host name="localhost"  appBase="webapps"
 2             unpackWARs="true" autoDeploy="true">
 3
 4         <!-- SingleSignOn valve, share authentication between web applications
 5              Documentation at: /docs/config/valve.html -->
 6         <!--
 7         <Valve className="org.apache.catalina.authenticator.SingleSignOn" />
 8         -->
 9
10         <!-- Access log processes all example.
11              Documentation at: /docs/config/valve.html
12              Note: The pattern used is equivalent to using pattern="common" -->
13         <Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"
14                prefix="localhost_access_log." suffix=".txt"
15                pattern="%h %l %u %t &quot;%r&quot; %s %b" />
16         <Context path="/txt" docBase="/data/txt" reloadable="true" crossContext="true"/>
17
18  </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是开启的

1 //退出路径
2 cd ..
3 //进入路径
4 cd tomcat/bin
5 //执行文件
6 ./shutdown.sh
7 ./startup.sh

)

(令无意发现若配置tomcat/conf/web.xml,则浏览器打开文件夹时会显示文件列表,否则会报404找不到文件的错误。

1 <init-param>
2             <param-name>listings</param-name>
3             <param-value>true</param-value>
4 </init-param>

把false改为true,就可以了)

方法二:

此方法不需要启动服务器,也是在linux上操作的。

方法:在tomcat/conf/Catalina/localhost文件夹下新建upload.xml文件(路径不全的新建文件夹补全),写如下代码:

1 <?xml version="1.0" encoding="UTF-8"?>
2 <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...

最后,我是为了下载文件功能的,有些方法比如window.open方法直接打开文件而不是下载文件,这个是由于浏览器原因,并且要把项目发布到服务器上,我用谷歌就可以下载文件了。

原文地址:https://www.cnblogs.com/cccaroline/p/12195620.html

时间: 2024-11-10 00:13:09

Linux上的Tomcat地址映射,且404错误解决的相关文章

linux上备份Oracle时EXP-00091的错误解决方法

unix/linux上备份Oracle时EXP-00091的错误解决方法 unix/linux上备份数据时的错误解决方法 EXP-00091: Exporting questionable statistics.解决方法 今日EXP数据发现如下错误: EXP-00091: Exporting questionable statistics. . . exporting table                     TAXVOU3129    2904185 rows exported EX

eclipse里访问tomcat首页出现404错误解决之法

首先,添加Tomcat.在菜单栏找到Window-Preferences-Server-Runtime Environments-Add-Apache-选择Tomcat版本-找到Tomcat文件的路径-修改jre路径为jre-添加成功 其次,找到Server视图(Window-Show View-Server),双击Tomcat v7.0 server at localhost,这时窗口会出来一个配置Tomcat的UI界面,在这个界面中找到Server Locations(左边第二行),在下面的

转载:JProfiler远程监控LINUX上的Tomcat过程细讲

来源于xuwanbest的博客 所谓"工欲善其事,必先利其器",好的工具确能起到事半工倍的作用.我用到的最多的就两个JConsole 和JProfiler .JConsole监控系统内存变化情况,如果有内存溢出的话,垃圾回收将会呈现锯齿状.发现问题以后,使用JProfiler,在小压力(或无压力)的情况下监控对象变化,定位内存溢出原因. JProfiler是一款Java的性能监控工具.可以查看当前应用的对象.对象引用.内存.CPU使用情况.线程.线程运行情况(阻塞.等待等),同时可以查

Atitit.404错误解决标准流程and url汉字中文路径404错误resin4 resin chinese char path 404 err解决

Atitit.404错误解决标准流程and url汉字中文路径404错误resin4 resin chinese char path 404 err解决 1. #原因解析 1 2. #解决方式 2 3. 输出图片流... 2 4. --code 2 5. 参考 3 1. #原因解析 查看累挂发送d url,,,俄使用的是ff..它把url转换成个 http://localhost/img/QQ%E6%88%AA%E5%9B%BE20140401175433.jpg 发送出去..每汉字3个%字符,

Linux中error while loading shared libraries错误解决办法

Linux中error while loading shared libraries错误解决办法 默认情况下,编译器只会使用/lib和/usr/lib这两个目录下的库文件,通常通过源码包进行安装时,如果不指定--prefix,会将库安装在/usr/local/lib目录下:当运行程序需要链接动态库时,提示找不到相关的.so库,会报错.也就是说,/usr/local/lib目录不在系统默认的库搜索目录中,需要将目录加进去. 1.首先打开 /etc/ld.so.conf 文件 2.加入动态库文件所在

SharePoint 2013 OWA The webpage cannot be found (HTTP 404) 错误解决方法

SharePoint 2013 OWA The webpage cannot be found  (HTTP 404) 错误解决方法 这个问题让我很伤心,最终解决方法很简单. 使用浏览器开发工具, F12, 找到 你要连接的地址,如下图 把这个地址复制出来,在浏览器里检查 是否能访问,也可以使用这个方法,如下. 如果在浏览也找不这个文件,还成IP地址试试,如果出现如图,请修改本地 NDS地址 也就是host文件 找到地址 :C:\Windows\System32\Drivers\etc  找到

Eclipse配置Tomcat,访问404错误

我从官网上面下载的tomcat6,直接启动发现正常使用,但是在Eclipse绑定后启动,访问localhost:8080,本来应该是tomcat的主页,但是却报了404错误. 百度搜索了一下,原来是tomcat编译位置的原因! 在Server面板中双击Tomcat就可以进入配置界面: 注意,如果你的Server Locations是灰色的,那么请先remove掉tomcat中部署的所有工程,然后clean一下. 看一下三个选项: 1 use workspace metadata 2 use to

linux 上部署tomcat的java web项目,会出现post提交request.request.getParameter()的得不到值的情况

有时候明明在windows上非常的正常,而在linux上就不正常了,在windows上post提交request.request.getParameter()有值,而在liunx上没有值. 我开始以为是我的tomcat版本,发现其实不是,tomcat在linux和windows上基本是相同的. 这样我就怀疑是不是我的配置文件错误,在tomcat下的conf的server.xml文件配置错误.就决定去找这个文件,我就抱着试一试的心态了一个地方 <Connector port="80"

404错误的调试分析 - 运行JSP动态网页Tomcat老是报404错误(详解)

一.开发JSP动态网页时,我们通过浏览器请求服务器上的某个资源的时候,或许会经常遇到报404错误的bug. 问题分析:出现这个bug的原因可能处在JSP网页里面,也可能是Servlet里面.假如要访问的资源不存在,就会产生404错误. (1)404错误可能是应用本身的问题.例如没有正常部署.web.xml部署时Servlet名字写错了 (2)也可能是文件的问题,JSP文件不存在.JSP名字打错了,或者Servlet没有配置 二.关于servlet配置参数url-pattern(Servlet路径