Java 如何在Struts中找到文件的位置?

Java 如何在Struts中找到文件的位置?,java,servlets,struts,url-pattern,Java,Servlets,Struts,Url Pattern,我想知道如何在Struts中找到文件的位置。 文件将放在哪里 以下是程序的一些部分: <filter-mapping> <filter-name>LoginFilter</filter-name> <url-pattern>*.do</url-pattern> </filter-mapping> <servlet> <servlet-name>action</servl

我想知道如何在Struts中找到文件的位置。 文件将放在哪里 以下是程序的一些部分:

<filter-mapping>
    <filter-name>LoginFilter</filter-name>
    <url-pattern>*.do</url-pattern>
 </filter-mapping>

 <servlet>
  <servlet-name>action</servlet-name>
  <servlet-class>org.apache.struts.action.ActionServlet</servlet-class>
  <init-param>
   <param-name>config</param-name>
   <param-value>/WEB-INF/struts-config.xml</param-value>
   </init-param>
   <load-on-startup>2</load-on-startup>
 </servlet>

逻辑过滤器
*.做
行动
org.apache.struts.action.ActionServlet
配置
/WEB-INF/struts-config.xml
2.
我知道
.do
将是项目中任何文件的扩展名,但我不知道它的位置。我对struts一无所知

提前谢谢

我知道。do将是项目中任何文件的扩展名

.do
将是URL模式


每当你点击
/yourapp/login.do
时,特定的操作都应该在struts中执行,并映射到
struts config.xml
你的
。do
是你的URL模式(@Jigar Joshi提到过)要查看它的映射位置,你必须在浏览器上查看你的URL:

假设您有
http://localhost:8080/myapp/login.do
,然后
.do
被web容器看到,它调用Struts Servlet
org.apache.Struts.action.ActionServlet

Struts
ActionServlet
将查看您的相对路径
/login
(查看我如何忽略
.do
),并查看它是否映射到您的
配置文件上(在您的情况下为
/WEB-INF/Struts config.xml

从那里,Struts
ActionServlet
检查是否有与您的相对路径匹配的操作路径,如下所示:

<action path="/login" type="com.myapp.action.LoginAction" name="LoginForm" scope="request">

</action>
public ActionForward execute(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws Exception {
     return mapping.findForward("FHome");
}
forward
name
属性基本上就是Struts操作在返回一个
ActionForward
时所调用的属性,该代码如下:

<action path="/login" type="com.myapp.action.LoginAction" name="LoginForm" scope="request">

</action>
public ActionForward execute(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws Exception {
     return mapping.findForward("FHome");
}
请记住,
struts config.xml
action
元素中的
forward
称为本地转发。全局转发位于
操作
元素之外

forward
元素的
path
是Struts必须调用的jsp页面(以及web/servlet容器)的相对路径


希望这能帮您解决问题。

找到了,但仍然不知道如何找到文件的实际路径;在您的
中是您的
输入=“/index.jsp”
。这就是文件。它在
web
/
webContent
文件夹中的某个地方(如果您使用的是Eclipse);有这么多文件,但执行时与源代码中查看的代码不匹配。我不知道您在搜索什么。Struts标记生成HTML,并呈现给客户端。