Tomcat可以正常启动,却打不开webapps目录下的html文件


出现了像这样的结果,404 — NOT FOUND

既然Tomcat可以正常开启运行(浏览器输入localhost可以得到下面的界面),那么问题就可能出在以下几个方面:
这里写图片描述

  1. 路径写错了,解决方案:仔细检查路径是否错误,如是否把要显示的HTML文件放错了文件夹(没有放在webapps中),是否路径中文件名拼写错误。
  2. 文件夹和文件名都不能出现中文,要是这种原因,可以把中文全部换成英文试一试。
  3. 要显示的HTML文件必须是放在webapps中一个新建文件夹里面,也就是说不能直接就把HTML放在webapps文件夹中或者直接放在webapps中已有的文件夹中,然后浏览器输入localhost/hello.html,这样是不行的,结果还是404 — NOT FOUND。这样在webapps中新建文件夹hello(名字为英文随意起),然后浏览器输入localhost/hello/hello.html即可。
    这里写图片描述
  • 16
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 3
    评论
Tomcat目录结构: bin: startup.bat shutdown.bat startup.sh shutdown.sh conf: tomcat运行时所需要的配置文件。 注意: server.xml (配置tomcat端口) <Connector port="8080" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" /> lib: 存放tomcat运行时所需要的jar文件。 logs: 存放tomcat运行时所生成的日志文件webapps: 存放已经部署到tomcat服务器中的 服务端项目。 work: 存放tomcat运行时生成的临时文件。 案例 访问tomcat中的静态html网页资源: http://ip:port/appName/path 1>启动tocmat服务器。 bin/startup.bat 需要配置JAVA_HOME环境变量 2>打开浏览器访问地址: http://localhost:8080/docs/index.html 案例 自定义静态服务端应用,提供文件下载。 1>打包应用程序。 downloads |---xxx.zip |---xxx.png |---xxx.rmvb |---xxx.jpg 2>把静态应用程序部署到tomcat中。 (把downloads文件夹拷贝到webapps中) 3>启动tomcat,访问资源: http://ip:8080/downloads/xxx.jpg 容器与组件 Servlet是tomcat容器中的一个组件。 容器包含组件。 组件必须在容器的管理下才可以运行。 组件的生命周期方法由容器自动调用。 如何基于tomcat编写服务端动态应用? 基于tomcat编写JSP: JSP (Java Server Page) Java服务端页面生成技术 JSP的本质是一个Servlet类。 如何编写一个JSP? 1>创建服务端项目。Denomic Web Project 2>选择tomcat的运行环境。 (Target Runtime) 3>webContent中创建jsp文件。 在jsp中编写内容。jsp中的文本将会 在用户访问该jsp文件时输出给客户端。 4>打包: 右键project -> export -> 搜war -> 选择桌面 -> finish 5>部署: 把war文件粘贴到webapps文件夹中。 6>启动tomcat访问url。 JSP的组成部分: 1>JSP指令 <%@ page language="java" contentType="text/html; charset=utf-8" pageEncoding="utf-8"%> 2>普通文本 将会在jsp生成的java源文件中使用: out.write() 把这些文本原样输出给客户端。 3>java代码片段 <% java代码 %> jsp将会把这些java代码直接生成在 _jspService方法中。 4>jsp表达式 <%=i+5%> 在jsp的任何位置输出java表达式的值。 当tomcat接收了一个访问jsp的请求时, 将会运行jsp生成的servlet类的service 方法。我们可以直接在jsp页面中编写 java代码处理这些请求。并且返回相应 数据,实现服务端业务。
JDK环境变量配置: 1,新建变量名:JAVA_HOME,变量值:C:\Program Files\Java\jdk1.7.0 2,打开PATH,添加变量值:%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin 3,新建变量名:CLASSPATH,变量值:.;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar 备注: 1,.表示当前路径,%JAVA_HOME%就是引用前面指定的JAVA_HOME; 2,JAVA_HOME指明JDK安装路径,此路径下包括lib,bin,jre等文件夹,tomcat,eclipse等的运行都需要依靠此变量。 3,PATH使得系统可以在任何路径下识别java命令。 4,CLASSPATH为java加载类(class or lib)路径,只有类在classpath中,java命令才能识别。 那么你的JDK就配置成功了,当然最好是再试验一下是否配置成功,那么就写一个简单的程序验证一下: Public class Test{ public static void main{ System.out.println("successful"); } } 运行代码,如果没问题,那一切OK,有问题,请检查一下上边所写的是否有错。 Tomcat环境变量配置: 如果你的Tomcat安装在C盘里,如:c:\tomcat(在这里切记一下,安装Tomcat时,在其字母周围一定不要存在空格,否则最后可能导致配置不成功) 1,新建变量名:CATALINA_BASE,变量值:C:\tomcat 2,新建变量名:CATALINA_HOME,变量值:C:\tomcat 3,打开PATH,添加变量值:%CATALINA_HOME%\lib;%CATALINA_HOME%\bin 确定后你的Tomcat就配置好了,同样要验证是否配置成功,那就运行Tomcat,点击启动(或Start service)后,打开浏览器,敲入http://localhost:8080,如果出现页面,那么配置成功。 经常看到许多人问如何配置JDK和JSP,现在我把方法总结下,希望对大家有所帮助。 第一步:下载jdk和tomcat 第二步:安装和配置你的jdk和tomcat:执行jdk和tomcat的安装程序,然后设置按照路径进行安装即可。 1.安装j2sdk以后,需要配置一下环境变量,在我的电脑->属性->高级->环境变量->系统变量中添加以下环境变量(假定你的jdk安装在c:\jdk1.6): JAVA_HOME=c:\jdk1.6 classpath=. ;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar;(.;一定不能少,因为它代表当前路径) path=%JAVA_HOME%\bin 接着可以写一个简单的java程序来测试JDK是否已安装成功: public class Test{ public static void main(String args[]){ System.out.println("This is a test program."); } } 将上面的这段程序保存为文件名为Test.java的文件。 然后打开命令提示符窗口,cd到你的Test.java所在目录,然后键入下面的命令 javac Test.java java Test 此时如果看到打印出来This is a test program.的话说明安装成功了,如果没有打印出这句话,你需要仔细检查一下你的配置情况。 2.安装Tomcat后,在我的电脑->属性->高级->环境变量->系统变量中添加以下环境变量(假定你的tomcat安装在c: \Tomcat): CATALINA_HOME: C: \Tomcat CATALINA_BASE: C: \Tomcat TOMCAT_HOME: C:\Tomcat 然后修改环境变量中的classpath,把tomat安装目录下的common\lib下的servlet.jar追加到classpath中去,修改后的classpath如下: classpath=.;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar;%CATALINA_HOME%\common\lib\servlet.jar; 接着可以启动tomcat,在IE中访问http://localhost:8080,如果看到tomcat的欢迎页面的话说明安装成功了。 第三步:建立自己的jsp app目录 1.到Tomcat的安装目录webapps目录,可以看到ROOT,examples, tomcat-docs之类Tomcat自带的的目录; 2.在webapps目录下新建一个目录,起名叫myapp; 3.myapp下新建一个目录WEB-INF,注意,目录名称是区分大小写的; 4.WEB-INF下新建一个文件web.xml,内容如下: <?xml version="1.0" encoding="ISO-8859-1"?> <!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN" "http://java.sun.com/dtd/web-app_2_3.dtd"> <web-app> <display-name>My Web Application</display-name> <description> A application for test. </description> </web-app> 5.在myapp下新建一个测试的jsp页面,文件名为index.jsp,文件内容如下: <html><body><center> Now time is: <%=new java.util.Date()%> </center></body></html> 6.重启Tomcat 7.打开浏览器,输入http://localhost:8080/myapp/index.jsp 看到当前时间的话说明就成功了。 第四步:建立自己的Servlet: 写入你的第一个Servlet import java.io.*; import javax.servlet.*; import javax.servlet.http.*; public class HelloWorld extends HttpServlet { public void doGet(HttpServletRequest request,HttpServletResponse response)th rows ServletException,IOException { response.setContentType("text/html"); PrintWriter out = response.getWriter(); out.println("<html><head><title>"); out.println("This is my first Servlet"); out.println("</title></head><body>"); out.println("<h1>Hello,World!</h1>"); out.println("</body></html>"); } } 然后照样用javac HelloWorld.java来编译这个文件,如果出现无法import javax.servl et.* 那么就是应该把C:\Tomcat\common\lib里面的servlet.jar文件拷贝到C:JDKjrelibe xt中,再次编译,就没有问题了! 然后在Tomcat目录里面的C:\Tomcat\webapps\ROOT里面按如下的文件结构: ROOT\index.html ROOT\welcom.jsp ROOT\WEB-INF\lib\MyServlet.jar(如果你的servlet的.class打成了.jar文件,则放在 lib下面) ROOT\WEB-INF\classes\HelloWorld.class(把上面生成的HelloWorld.class文件放在这个 里面) 然后在浏览器中输入http://localhost:8080/servlet/HelloWorld,于是Server众望所归的报错了:Error 404--Not Found 怎么回事呢? Servlet必须使用C:\Tomcat\webapps\ROOT\WEB-INF这个目录下面的web.xml文件进行注册, 用EP打开这个web.xml文件, 把下面这段程序 servlet> ..... </servlet> <servlet-mapping> ...... </servlet-mapping> 替换成 <servlet> <servlet-name>HelloWorld</servlet-name> <servlet-class>HelloWorld</servlet-class> </servlet> <servlet-mapping> <servlet-name>HelloWorld</servlet-name> <url-pattern>/servlet/HelloWorld</url-pattern> </servlet-mapping> 如果没有的话,就直接加那段代码 为什么呢? 因为 这样的结构 <servlet> <servlet-name>HelloWorld</servlet-name> <servlet-class>HelloWorld</servlet-class> </servlet> 表示指定包含的servlet类. 而以下的结构 <servlet-mapping> <servlet-name>HelloWorld</servlet-name> <url-pattern>/servlet/HelloWorld</url-pattern> </servlet-mapping> 表示指定HelloServlet应当映射到哪一种URL模式。 在修改web.xml完毕过后,重新启动Server,然后再输入http://localhost:8080/servlet/HelloWorld,那么偌大一个Hello,World!等 着你呢,恭喜你 摆平了:) 在JSP文件开头加入下面这条语句可以实现中文名称显示 <%@ page language="java" contentType="text/html; charset=gb2312" %> 修改tomcat目录下conf\server.xml为 port="8080" maxThreads="150" minSpareThreads="25" maxSpareThreads="75" enableLookups="false" redirectPort="8443" acceptCount="100" debug="0" connectionTimeout="20000" disableUploadTimeout="true" URIEncoding="UTF-8"/> 注意黑体部分是修改的地方,修改之后就可以让TOMCAT支持中文链接了。 上面是完整的配置方法,还可以上tomcat支持中文,其实我空间里都有。
最近学习Nginx+tomcat实现 负载均衡。 首先大家注意: 本文章中没有session共享,关于session共享我会在下一篇中讲解,先实现Nginx+tomcat负载均衡再实现session共享。 从网上查了好多资料,多走了很多弯路,现在把自己成功的方法拿出来与大家分享。 Window7 我是在Win7上做的。不是什么Linux,网上好多资料,特别麻烦。 Nginx Nginx 比较好找到,直接去网上下载 网址: http://nginx.org/en/download.html 版本不作要求了,(比如1.2.9版本),都有。 JDK JAVA的各种环境都要有。 版本不要求 Tomcat 这里我给大家提供tomcat6 Tomcat各种版本的下载地址我也提供给大家:http://tomcat.apache.org/download-60.cgi 大家可以先用我tomcat6 学会了,在下载自己需要的版本。 词条科普 另外我把实现过程中遇到的知识点都总结好了,一起提供给大家学习。 步骤: 注:本例程以一台win7机器为例子,即同一台机器上装一个nginx和2个Tomcat。 且安装了JDK。 便于管理将用到的资料放在一个文件夹下 我在D盘 创建 server 文件夹 . 1. Nginx 下载直接解压缩到server,点nginx.exe 执行 安装后如果可用,可在任务管理其中找到如图类似,并且在浏览器中输入 http://localhost/ 浏览器显示如下两个图 说明成功 2.Tomcat 同样将自己下载的或者我提供的tomcat 放到D盘的server下不过要复制成两份或者多份。 命名如:(便于区别 我们只用两个来讲解 ,多个tomcat和两个原理是一样的) 1、server.xml配置 我们需要在一台机器上跑 2 个不同的 tomcat ,避免出现端口被占用的情况,为了规范统一,我们修改全部tomca端口。分别找到tomcat6的1和2 的conf下的 server.xml。 修改Server端口 找到Server将: 改为 XXXX 在这里表示不同的端口:我的两个 tomcat 分别使用 8005和8006; 2.1.2、修改Connector端口 找到Connector将: 改为 XXXX 在这里表示不同的端口:我的两个 tomcat 分别使用 8081和8082; 2.1.3、修改Engine端口 找到Engine将: 改为 tomcatX 在这里表示不同的tomcat,我的两个 tomcat 分别使用 tomcat1和tomcat2;来区分。 这个设置是主要用以tomcat的集群。 如果看不懂可以去看我提供的tomcat我已经改好了。 启动tomcat服务 分别到两个tomcat下,直接双击D:\server\apache-tomcat-6.0.39_1\bin\startup.bat启动tomcat1 D:\server\apache-tomcat-6.0.39_2\bin\startup.bat启动tomcat2 出现以下页面表示启动成功 在浏览器中输入 http://localhost:8081 http://localhost:8082 出现 标示成功 3、Nginx+Tomcat负载均衡配置 首先创建两个文件,这两个文件 我来提供,将这两个文件拷入Nginx的conf文件夹下 1.proxy.conf 文件内容 #负责代理转发 proxy_redirect off; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_
### 回答1: root是Tomcat中默认的Web应用程序,它的文件夹位于Tomcatwebapps目录下。在root文件夹中,包含了Web应用程序的所有资源文件,包括HTML、CSS、JavaScript、JSP、Servlet、图片、音频、视频等等。当Tomcat启动时,它会自动加载root应用程序,并将其作为默认的Web应用程序。因此,如果您想要在Tomcat中部署自己的Web应用程序,可以将其放置在webapps目录下,并将其命名为root。 ### 回答2: Tomcat是一种开源的Java Servlet服务器,可以托管Java Web应用程序。在Tomcat服务器中,Web应用程序是通过webapps目录托管的。webapps目录Tomcat服务器的默认主机目录,用于存储所有Web应用程序。在webapps目录下,你会发现有一个名为root的文件夹。它代表着Web应用程序的根目录。 在Tomcat中,Web应用程序可以通过多个URL访问。如果一个Web应用程序的URL不包含任何上下文路径,那么该应用程序的根目录就是Tomcat服务器的根目录,也就是root文件夹。根目录中的内容通常是一个HTML文件,它在Web应用程序的根URL(http://localhost:8080)上显示出来。当你通过该URL访问Tomcat时,Tomcat会查找该文件,如果找到,则会将其显示在浏览器中。 root文件夹通常包含多个文件文件夹,这些文件文件夹代表Web应用程序的根目录下的不同资源。这些资源包括HTML文件、CSS样式表、JavaScript文件、图像、字体文件和其他Web应用程序所需的资源。通常情况下,这些资源是通过HTML文件引用的。这样,当用户访问Web应用程序的URL时,Tomcat会加载HTML文件,然后从根目录下的其他文件文件夹加载所需的资源。 总之,Web应用程序的根目录下的root文件夹是Tomcat服务器的根目录,用于存储Web应用程序的资源。在该文件夹中,可以找到Web应用程序的HTML文件和其他资源,这些资源组成了Web应用程序的UI,并通过Tomcat服务器在用户的浏览器中呈现。 ### 回答3: Tomcat是一款广泛使用的开源Java应用服务器,而其中的webapps目录下的root目录,则是Tomcat默认的Web应用程序目录,是由Tomcat服务器提供的默认Web应用程序。有了root目录,我们可以将Web应用程序部署到Tomcat服务器上,并通过网址访问该Web应用程序。 在webapps目录下,每一个子目录代表一个独立的Web应用程序。而root目录则是Tomcat内置的默认Web应用程序,它的名称是固定的。通常使用它来部署简单的静态网页、图片、css、js等等Web资源,同时也可以用于测试Tomcat服务器的基本功能和性能。 在Tomcat服务器启动时,如果没有找到指定的Web应用程序,则会将root目录作为默认Web应用程序加载到服务器中进行访问。因此,一旦将自己的Web应用程序部署到root目录下,Tomcat服务器就会将你的Web应用程序视为默认Web应用程序提供,用户访问服务器时默认会访问到你的应用。 对于新手来说,root目录的使用非常简单,只需要将自己的Web应用程序部署到root目录下,即可在访问Tomcat服务器时显示自己的网站,可以通过浏览器输入"http://localhost:8080/"的地址,访问到一些静态页面。 总之,root目录Tomcat的默认Web应用程序,通常用于部署简单和静态的Web资源,也可以用于测试Tomcat的基本功能和性能。但是,我们需要注意的是,如果我们的Web应用程序不是简单和静态的,则最好不要将其部署到root目录下,而是应该创建一个独立的子目录,在此目录下进行部署。这样可以更好地组织我们的Web应用程序,以便更好地进行管理。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

xiaoshijiu333

你的鼓励将是我创作的最大动力

¥2 ¥4 ¥6 ¥10 ¥20
输入1-500的整数
余额支付 (余额:-- )
扫码支付
扫码支付:¥2
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值