`
gaosililn
  • 浏览: 73050 次
  • 性别: Icon_minigender_1
社区版块
存档分类
最新评论

ssh学习:struts2的获取web资源模式

 
阅读更多

struts2中获取web资源模式

在前面已经讲到怎么使用struts2的数据封装,这是在一定的条件下是可行的的也是很简单的。但是呢,远远还没有达到web开发的需求。下面讲一下怎么在action类中获取web资源模式。

获取web的资源模式有两种方法:使用拦截器动态获取,另外一中就是使用静态对象获取web资源模式。

使用拦截器动态获取web资源模式:

 方法一:

实现各个web模式的拦截器对应的拦截器接口

ServletRequestAware, ServletResponseAware, ServletContextAware

在请求到达之后,先被拦截器拦截,在触发action的相关方法

示例代码:

public class FirstAction extends ActionSupport
		implements ServletRequestAware, ServletResponseAware, ServletContextAware {
	private ServletRequest request;
	private ServletResponse response;
	private ServletContext context;

	@Override
	public String execute() throws Exception {
		String name = request.getParameter("name");
		System.out.println("name:" + name);
		response.getWriter().write("hello gaosi!");
		return SUCCESS;
	}

	@Override
	public void setServletRequest(HttpServletRequest arg0) {
		request = arg0;
	}

	@Override
	public void setServletContext(ServletContext arg0) {
		context = arg0;
	}

	@Override
	public void setServletResponse(HttpServletResponse arg0) {
		response = arg0;
	}

}

 这样我们就能轻松的获取到web资源模式了

方法二:是实现拦截器RequestAware接口,在serRequest方法中的map对象当中就可以全部的获取到Web资源模式对象了,只要从map中提取出来就可以直接的使用了

示例代码:

package com.usc.geowind.lilin.action;

import java.util.Map;

import javax.servlet.ServletContext;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.xml.ws.spi.http.HttpContext;

import org.apache.struts2.StrutsStatics;
import org.apache.struts2.interceptor.RequestAware;

import com.opensymphony.xwork2.ActionSupport;

public class SecAction extends ActionSupport implements RequestAware {

	private HttpServletRequest request;
	private HttpServletResponse response;
	private ServletContext context;

	@Override
	public String execute() throws Exception {
		System.out.println("secAction name:" + request.getParameter("name"));
		return SUCCESS;
	}

	@Override
	public void setRequest(Map<String, Object> arg0) {
		request = (HttpServletRequest) arg0.get(StrutsStatics.HTTP_REQUEST);
		response = (HttpServletResponse) arg0.get(StrutsStatics.HTTP_RESPONSE);
		context = (ServletContext) arg0.get(StrutsStatics.SERVLET_CONTEXT);
	}

}

 通过拦截器获取web资源模式就基本介绍完了,下面看些静态对象获取web资源模式。

静态对象获取web资源模式:

使用静态的方式获取web资源模式不需要实现任何借口也不需要使用拦截器。具体的方法如下:

方法一:使用ActionContext.getContext()方式;

public String execute() throws Exception {
		//ActionContext相当去Map一样,存储着web全部的资源模式
		ActionContext context = ActionContext.getContext();
		ServletRequest resqust = (ServletRequest) context.get(ServletActionContext.HTTP_REQUEST);
		ServletResponse response = (ServletResponse) context.get(ServletActionContext.HTTP_RESPONSE);
		ServletContext sContext = (ServletContext) context.get(ServletActionContext.SERVLET_CONTEXT);
		String name = resqust.getParameter("name");
		System.out.println("name:" + name);

		return SUCCESS;
	}

 方法二:

使用ServletActionContext获取web资源模式

示例代码:

public String execute() throws Exception {
		HttpServletRequest request = ServletActionContext.getRequest();
		HttpServletResponse response = ServletActionContext.getResponse();
		ServletContext servletContext = ServletActionContext.getServletContext();
		String name = request.getParameter("name");
		System.out.println("name:" + name);
		return SUCCESS;
	}

 

 

 

 

分享到:
评论

相关推荐

    ssh_TestStruts.rar

    2. **Struts拦截器**:学习如何自定义拦截器,以实现如日志记录、权限控制等功能。 3. **Action和结果类型**:掌握Action类的设计模式,以及如何定义和使用不同的结果类型。 4. **Struts标签**:熟悉Struts提供的...

    Java:SSH-Spring整合struts2&hibernate;框架

    1. 配置Struts2:在Web项目的web.xml中配置Struts2的前端控制器Filter,以及相关的Struts2核心过滤器和配置文件路径。 2. 引入Hibernate:配置Hibernate的sessionFactory,包括数据库连接信息、实体类扫描路径等。...

    SSH框架整合 Struts2、Hibernate、Spring开发的一个系统。

    SSH框架,全称为Struts2、Hibernate和Spring的集成,是Java Web开发中常见的三大开源框架的组合。这个系统利用SSH框架的特性,构建了一个高效、灵活且易于维护的后端应用。接下来,我们将深入探讨这三个框架的核心...

    ssh2学习--struts+spring整

    标题“ssh2学习--struts+spring整合”指的是在IT领域中对SSH(Spring、Struts和Hibernate)框架的整合学习,尤其是关注Struts和Spring的集成。SSH是Java Web开发中常用的一套开源框架组合,用于构建企业级应用。在...

    SSH(struts2+spring3+Hibernate3)整合Demo

    SSH(Struts2 + Spring3 + Hibernate3)是Java Web开发中的一个经典组合,被称为“SSH框架集成”。这个整合Demo提供了使用这三个框架协同工作的实例,帮助开发者理解和掌握它们的集成方式。下面将详细讲解SSH框架的...

    Struts2.0 教程 ChM

    Struts2是Apache软件基金会的一个开源项目,它提供了MVC(Model-View-Controller)设计模式的实现,使得开发者能够更有效地构建动态、数据驱动的Web应用程序。 Struts2.0的核心特性包括: 1. **强大的动作(Action...

    SSH2项目增删改查事例

    SSH2(Struts2 + Spring + Hibernate)是一个经典的Java Web开发框架组合,它结合了Struts2的MVC设计模式、Spring的依赖注入和事务管理以及Hibernate的对象关系映射功能,为开发者提供了一套高效、灵活的开发工具。...

    struts2 完整课件 ssh

    Struts2是一个基于MVC(Model-View-Controller)设计模式的Java EE应用程序框架,它是在WebWork2的基础上发展起来的。与它的前身Struts1相比,Struts2具有许多显著的优点,使得它在现代Java应用开发中更受欢迎。 ...

    SSH三大框架面试问题

    SSH(Struts、Spring、Hibernate)是Java Web开发中常用的三大框架,它们分别负责MVC模式的视图、控制和持久层。这里我们将深入探讨Struts框架的优缺点,以便更好地理解其在面试中的重要性。 **Struts框架的优点:*...

    一个简单的struts2+spring测试项目

    Struts2是基于MVC设计模式的Web应用框架,它简化了创建动态、数据驱动的Web应用的过程。主要特性包括: 1. **Action类和Result**: Struts2的核心是Action类,它负责处理用户请求。Action执行完业务逻辑后,会返回一...

    SSH2整合程序,使用注解方式,高效开发。可以下来参考学习

    SSH2(Struts2、Spring、Hibernate)是一个经典的Java Web开发框架组合,它极大地简化了企业级应用的开发过程。这个框架集成了Struts2的MVC设计模式、Spring的依赖注入(DI)和面向切面编程(AOP)以及Hibernate的...

    牧紫小岩的Struts2学习笔记

    **牧紫小岩的Struts2学习笔记**涵盖了Struts2框架的关键概念和技术细节,从框架的初始化流程、配置管理到Action的实现与调用,再到结果处理和异常管理,为初学者和资深开发者提供了一个全面深入的学习资源。

    java web ssh开发常用jar包

    1. **Struts2**:Struts2是一个基于MVC设计模式的Web应用框架,它继承了Struts1的优点并解决了其存在的问题。Struts2提供了丰富的拦截器、插件和模板技术,使得开发更加灵活。常用的Struts2相关的jar包包括: - `...

    struts-2.1.6

    SSH框架组合了Struts的MVC(模型-视图-控制器)设计模式、Spring的依赖注入和事务管理以及Hibernate的对象关系映射,提供了强大的功能和灵活性。 Struts 2是Apache软件基金会的开源项目,它是Struts 1的升级版,...

    SSH框架知识总结

    **Struts2**是一个开源的Java Web应用框架,它遵循Model-View-Controller (MVC) 架构模式。相比于第一代Struts框架,Struts2进行了诸多改进和优化,尤其是在灵活性、易用性和扩展性方面。 - **核心思想**: Struts2...

    struts2与hibernate整合单表增删改查

    1. **Struts2框架**:Struts2是一个基于MVC设计模式的Web应用框架,主要负责控制应用程序的流程,提供Action类处理请求,并通过Result返回相应的视图。OGNL(Object-Graph Navigation Language)是Struts2中的表达式...

    ssh所需要所有jar包

    SSH(Struts + Spring + Hibernate)是一个经典的Java Web开发框架,它由三个主要部分组成:Struts处理MVC(模型-视图-控制器)架构,Spring提供依赖注入和事务管理,Hibernate则是ORM(对象关系映射)框架,使得...

    基于SSH2的增删改查及分页完整项目

    SSH2(Struts2 + Spring + Hibernate 2)是一个经典的Java Web开发框架组合,用于构建高效、可维护的Web应用程序。这个"基于SSH2的增删改查及分页完整项目"提供了一个全面的示例,帮助开发者理解如何在实际应用中...

    ssh案例(登录动态生成菜单)

    SSH(Spring、Struts2、Hibernate)是Java开发中一种常见的三大框架集成方案,用于构建企业级Web应用程序。本案例将详细介绍如何利用SSH框架实现登录并动态生成菜单的功能。 首先,Spring作为整体的依赖注入(DI)...

Global site tag (gtag.js) - Google Analytics