我遇到问题example
我使用eclipse进行Java EE和Apache Tomcat 8。 我的项目结构:
web.xml代码:
<?xml version="1.0" encoding="UTF-8"?>
<web-app id="WebApp_ID" version="2.4" xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
<display-name>Hello World Struts 2</display-name>
<welcome-file-list>
<welcome-file>index.jsp</welcome-file>
</welcome-file-list>
<filter>
<filter-name>struts2</filter-name>
<filter-class>org.apache.struts2.dispatcher.filter.StrutsPrepareAndExecuteFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>struts2</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
</web-app>
其他文件代码与struts网站相同。 当我运行index.jsp文件时,我收到以下错误:
** HTTP状态404 - /helloworld/index.jsp
输入状态报告
消息/helloworld/index.jsp description请求的资源不可用。**
有人能发现为什么我不能运行它的原因?
答案 0 :(得分:1)
首先,项目是使用Maven配置创建的,要访问Struts操作,您应该使用url
步骤6 - 构建WAR文件并运行应用程序
执行
mvn clean
包以创建war文件。将war文件复制到Servlet容器。在您的Servlet之后 容器成功部署war文件转到此URL
http://localhost:8080/helloworld/index.action
你应该看到的地方 以下内容:
Web应用程序上下文是部署应用程序的位置。在文档网址中为/helloworld
,在图片上为/Hello_World_Struts2_Ant
。将其用作网址的一部分。在部署期间使用哪个应用程序上下文并不重要,但url依赖于它。如果您想更改网络应用程序上下文,请阅读Java - How to change context root of a dynamic web project in Eclipse。在上下文之后,您使用带有.action
扩展名的操作名称来执行操作。
请勿使用localhost:8080/helloworld/index.jsp
之类的网址,因为您可能无法获取资源,因为它已由网络服务器处理。