使用ForwardAction转发到一个Servlet组件,实现遗留系统中的Servlet组件重用
Struts中的ForwardAction可以实现转发功能,它可以转发到一个Jsp页面,一个Action对象,或者是Servlet组件。基于此,如果你的系统要使用之前系统中的遗留代码,比如Servlet组件,那么就可以通过ForwardAction实现转发功能,通过Servlet来处理request。实现组件的重用。具体的配置如下:
假设要使用的Servlet为:
com.myapp.struts.forwardaction.ForwardActionToServlet
首先,在web.xml文件中注册此Servlet
++++++++++++++++++++++++++++++++++++++++++++++++++++++++
<servlet>
<servlet-name>ForwardActionServlet</servlet-name>
<servlet-class>com.myapp.struts.forwardaction.ForwardActionToServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>ForwardActionServlet</servlet-name>
<url-pattern>/servlet/ForwardActionServlet</url-pattern>
</servlet-mapping>
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++
接着在Struts配置文件中配置如下Action
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++
<!--action path="/toServlet.tos"
type="org.apache.struts.actions.ForwardAction"
scope="request"
parameter="/servlet/ForwardActionServlet"
/>
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
此处的parameter属性是关键,将它的值设置为web.xml中定义的<url-pattern>/servlet/ForwardActionServlet</url-pattern>
中的执行路径。
新建一个jsp测试页面test.jsp
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
<%@page language="java" contentType="text/html" pageEncoding="UTF-8"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>JSP Page</title>
</head>
<body>
<html:link action="/toServlet">toServlet</html:link>
</body>
</html>
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
点击页面中的链接后,com.myapp.struts.forwardaction.ForwardActionToServlet会被执行,以处理request,response。这样就可以加入自己的处理代码。
本文介绍如何使用 Struts 的 ForwardAction 实现对遗留 Servlet 组件的重用。通过配置 web.xml 和 Struts 配置文件,可以将请求转发给指定的 Servlet 处理。这种方式有助于整合旧系统的功能。
205

被折叠的 条评论
为什么被折叠?



