最近在学习 jsp 和 servlet, 避免不了的要和 tomcat 打交道, 但 tomcat 经常会出现各式各样的错误, 下面是我总结的一些常见的解决方法, 希望对大家有用.
1.未部署 web 应用
2.URL 输入错误
排错方法: 首先, 查看 URL 的 IP 地址和端口号是否书写正确.
其次, 查看上下文路径是否正确 Project--------Properties------MyElipse-----Web-----Web Context-root 检查这个路径名称是否书写正确.
最后, 检查一下文件名称是否书写正确.
3.目录不能被引用
排错方法:
在 Eclipse 的 "包资源管理器 (Package Explorer)" 检查文件存放的位置. 由于 META-INFWEB-INF 文件夹下的内容无法对外发布, 所以, 如果你引用了带这两个目录的文件, 肯定是不允许. 例如: http://localhost:8080/guestbook/Web-INF/index.html 就是错误的文件位置存放错误
4. Tomcat 服务器中 Web.xml 中的问题
排错方法:
如果你的 Web 应用程序有多个 jsp 页面的话, 当你点击你 Web 应用程序的虚拟根目录时可能会出现 404 错 误, 只是你只需要修改 Tomcat 服务器中 Web.xml
- <init-param>
- <param-name>listings</param-name>
- <param-value>false(将其该为 true)</param-value>
- </init-param>
5,Web-INF 下面必须要有几个固定的文件夹和文件
±Web.xml
该 Web App 的配置文件
±lib
该 Web App 用到的库文件
±classes
° 存放编译好的 servlet
请注意他们的名字, 我曾经就由于把 classes 写成 class, 查错查了半宿还没解决, 所以写这些的时候千万要仔细, 要不会浪费更多的精力去查错.
6, 如果要运行的不是. jsp 文件, 而是 servlet(.class) 文件, 要配置 Web.xml(当然是 Web-INF 下面的), 加上以下字段:
- <servlet>
- <servlet-name>HelloWorldServlet</servlet-name>
- <servlet-class>HelloWorldServlet</servlet-class>
- </servlet> <servlet-mapping>
- <servlet-name>HelloWorldServlet</servlet-name>
- <url-pattern>/HelloWorldServlet</url-pattern>
- </servlet-mapping>
其中的 "HelloWorldServlet" 改为你要运行的文件名. 大概就总结了这些, 当然, 在实际应用中也许会出现更多意料不到的错误, 这也是很正常的, 如果有什么错误还请大家指出.
来源: https://www.jb51.net/article/191269.htm