`
jaesonchen
  • 浏览: 309891 次
  • 来自: ...
社区版块
存档分类
最新评论

struts forward到servlet

 
阅读更多
import java.util.Map;

import com.opensymphony.xwork2.ActionSupport;

import org.springframework.stereotype.Controller;
import org.springframework.context.annotation.Scope;
import org.apache.struts2.interceptor.RequestAware;

@SuppressWarnings("all")
@Scope("prototype")
@Controller("forwardAction")
public class ForwardAction extends ActionSupport implements RequestAware {

	@Override
	public String execute() throws Exception {
		this.getRequest().put("attr", "value set in HttpRequest");
		return SUCCESS;
	}
	
	private Map<String, Object> request;
	private String color;
	//private String valueOnStack;
	
	public Map<String, Object> getRequest() {
		return request;
	}
	public void setRequest(Map<String, Object> request) {
		this.request = request;
	}
	public String getColor() {
		return color;
	}
	public void setColor(String color) {
		this.color = color;
	}
	public String getValueOnStack() {
		return "value return from getValueOnStack() method";
	}
	/**public void setValueOnStack(String valueOnStack) {
		this.valueOnStack = valueOnStack;
	}*/
}

 

import java.io.IOException;

import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.ServletException;

import org.apache.struts2.ServletActionContext;

@SuppressWarnings("all")
public class ShowServlet extends HttpServlet {

	protected void doPost(HttpServletRequest request, HttpServletResponse response) 
		throws ServletException, IOException {
		
		response.setContentType("text/html");
		response.getOutputStream().println("<html>");
		response.getOutputStream().println("<head>");
		response.getOutputStream().println("</head>");
		response.getOutputStream().println("<body>");
		response.getOutputStream().println("<p>Hello from ShowServlet.doPost()</p>");
		response.getOutputStream().println("<p>Attribute set in struts 2 Action = " + 
				request.getAttribute("attr") + "</p>");
		response.getOutputStream().println("<p>Request parameters = " + 
				request.getParameter("color") + "</p>");
		String valueOnStack = (String) ServletActionContext.getValueStack(request).findValue("valueOnStack");
		response.getOutputStream().println("<p>Value received from Action property on ValueStack = " + 
				valueOnStack + "</p>");
		response.getOutputStream().println("</body>");
		response.getOutputStream().println("</html>");
	}
}

 

struts.xml中的配置:

 

  <action name="ForwardAction" class="forwardAction">
    <result name="success">/showServlet</result>
  </action>

 

Action模型在ValueStack中的属性值是根据Action的get方法的名称决定的,跟是否存在该属性无关。

分享到:
评论

相关推荐

    关于struts和servlet同时用

    2. 服务器接收到请求后,Servlet容器(如Tomcat)根据web.xml中的配置找到对应的Servlet(通常是Struts的Front Controller,如.struts2Dispatcher)。 3. Struts DispatcherServlet解析请求,根据配置文件确定要调用...

    Struts2中Servlet的配置

    当一个项目同时使用了Struts2框架和直接的Servlet时,可能会遇到问题,因为Struts2有自己的请求处理流程,可能会覆盖或干扰到Servlet的正常工作。为了解决这个问题,可以创建一个过滤器,例如`ReDispatcherFilter`...

    servlet模拟struts1工作原理

    ActionServlet作为控制器,负责拦截所有的HTTP请求,解析请求中的信息,并根据struts-config.xml配置文件来决定如何转发到相应的Action。ActionForm用于封装请求参数,Action执行业务逻辑,最后,视图(View)负责...

    Struts与Servlete的Demo

    通过这个Demo,你可以学习到如何配置Struts框架,理解ActionServlet和Action类的工作原理,以及它们如何与Servlet交互来处理请求和响应。同时,这个Demo也可能会展示如何利用Struts提供的优势,如更好的结构、可重用...

    javaee struts框架+servlet+jsp+dao+fatory做的房屋祖凌系统

    JavaEE是一种广泛应用于企业级应用开发的技术平台,它包含了多种技术规范和框架,如Servlet、JSP、Struts等,用于构建动态、交互式的Web应用程序。在这个“房屋租赁系统”中,开发人员选择了Struts作为主要的MVC...

    servlet,struts_src,源文件

    1. **ActionServlet**:这是Struts框架的主要入口点,继承自Servlet,负责接收请求并转发到相应的Action。 2. **ActionForm**:负责从请求中收集数据并封装成业务对象。 3. **Action**:执行实际的业务逻辑,并通过`...

    servlet+struts源码

    Servlet和Struts是Java Web开发中的两个重要组件。Servlet是一种Java编程语言的接口,用于扩展服务器的功能,而Struts是一个基于MVC(Model-View-Controller)设计模式的开源框架,它极大地简化了Java Web应用的开发...

    ajax在jsp、struts、servlet、webwork中的应用

    ### AJAX在JSP、Struts、Servlet、WebWork中的应用 #### 一、引言 随着Web技术的发展,用户对网站交互性和响应速度的要求越来越高。AJAX(Asynchronous JavaScript and XML)作为一种新兴的技术,能够在不重新加载...

    简单学生成绩管理系统(struts+servlet+MySQL).zip

    《基于Struts、Servlet与MySQL的学生成绩管理系统详解》 在Web开发领域,Java技术一直扮演着重要的角色。本文将深入探讨一个使用Struts、Servlet和MySQL数据库构建的简单学生成绩管理系统,帮助初学者理解这些技术...

    用servlet模拟struts_mvc框架

    总结来说,Servlet模拟Struts_MVC是一个学习MVC模式的好方法,它让我们亲身体验到控制器如何调度模型和视图,以及它们之间如何协作完成Web应用的处理流程。通过这样的实践,我们可以深入理解MVC模式的优势,为将来...

    Struts2中实现页面的跳转

    当一个请求到达服务器时,Struts2的前端控制器(通常是一个Servlet,如`StrutsPrepareAndExecuteFilter`)拦截请求,并根据配置文件(struts.xml)来决定哪个Action应该处理这个请求。Action执行完毕后,可以通过...

    servlet上传 struts下载例子

    Action会根据请求生成一个ActionForward,指定到一个Servlet或JSP页面,该页面负责设置响应头(如Content-Disposition、Content-Type等),并将文件内容流化到响应体中。对于中文文件名,同样需要注意编码问题,确保...

    java web整合开发王者归来光盘代码-第七章 servlet章节 (JSP+Servlet+Struts+Hibernate+Spring)

    在这一章节中,你可能会接触到配置文件(struts-config.xml)以及Action和ActionForward的概念。 4. **Hibernate**:Hibernate是一个对象关系映射(ORM)框架,它允许开发者使用Java对象模型来操作数据库。通过配置...

    Servlet-Struts-Hibernate笔记分享

    在Struts1中,Action类作为Controller接收用户请求,调用业务逻辑,然后通过ActionForward返回到相应的视图。配置文件struts-config.xml定义了Action映射和数据绑定。此外,Struts1还提供了Tiles框架,用于创建可...

    struts-1.2.9源码

    ActionServlet根据ActionForward转发请求到指定的JSP页面。 4. **Struts 1.2.9的改进与特性** - 动态方法调用(Dynamic Method Invocation, DMI):允许通过URL直接调用Action的特定方法。 - 国际化...

    Struts1与Struts2原理 区别详解汇总

    5. **返回处理结果**:处理完成后,Action对象返回一个`ActionForward`对象,指示ActionServlet如何响应客户端的请求,如跳转到另一个页面或返回JSON数据等。 #### Struts2原理概述 **Struts2** 是对Struts1的改进...

    Struts-Action核心代码

    3. **转发控制**:Action处理完请求后,ActionServlet会根据ActionForward的定义,将响应转发到指定的视图(JSP、HTML等)进行渲染。 4. **异常处理**:如果在处理过程中出现异常,ActionServlet会按照预设的异常...

    Struts教程,Struts,Struts初级教程

    Struts是Java Servlet和JSP技术的扩展,旨在简化MVC架构的实现。通过使用Struts,开发者可以将业务逻辑、数据访问和用户界面分离,从而提高代码的可维护性和可复用性。 2. **MVC架构** MVC模式是一种设计模式,...

    struts面试题详解

    5. Action返回一个ActionForward对象,指示ActionServlet应该转发到哪个JSP页面。 6. JSP页面渲染视图,显示结果。 **3. Struts1面试常见问题及答案:** - **什么是Struts?** Struts是一个基于MVC设计模式的Java ...

Global site tag (gtag.js) - Google Analytics