Java 如何在Struts中找到文件的位置?
我想知道如何在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
<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 Servletorg.apache.Struts.action.ActionServlet
StrutsActionServlet
将查看您的相对路径/login
(查看我如何忽略.do
),并查看它是否映射到您的配置文件上(在您的情况下为/WEB-INF/Struts config.xml
)
从那里,StrutsActionServlet
检查是否有与您的相对路径匹配的操作路径,如下所示:
<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");
}
forwardname
属性基本上就是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,并呈现给客户端。