`

struts2.0通用控制器详解

 
阅读更多

BaseAction

package util;

import java.util.Map;

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

import org.apache.struts2.ServletActionContext;

import com.opensymphony.xwork2.ActionContext;
import com.opensymphony.xwork2.ActionSupport;

/**
 * 本类用于做struts2.0的通用控制器,只要你写的Action类继承这个类,就可以很轻易地得到Servlet中的Api
 * @author 够潮
 *
 */
@SuppressWarnings({ "unchecked", "serial" })
public class BaseAction extends ActionSupport {

	
	
	
	/**
	 * 获取Response,并设置默认编码 如 text/json/javascript "utf-8"
	 * @return
	 */
	public HttpServletResponse getResponse(){
		
		
		HttpServletResponse response = ServletActionContext.getResponse();
		response.setContentType("text/json/javascript;utf-8");
		return response;
	}
	/**
	 * 获取session
	 * @return
	 */
	
	public Map getSession(){
		
		/**
		 * 获取Action上下文
		 */
		ActionContext ac = ActionContext.getContext();
		Map map = ac.getSession();
		
		return map;
		
	}
	/**
	 * 获取Application
	 * @return
	 */
	public Map getApplication(){
		
		/**
		 * 获取Action上下文
		 */
		ActionContext ac = ActionContext.getContext();
		Map map = ac.getApplication();
		return map;
	}
	
	/**
	 * 获取request
	 * @return
	 */
	public HttpServletRequest getRequest(){
		
		HttpServletRequest request = ServletActionContext.getRequest();
		return request;
	}
}

 

GetServletApiActionDemo

 

package util;

import java.util.Map;

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


/**
 * 该类继承BaseAction,测试是否很轻松获取Servlet中的Api
 * @author 够潮
 *
 */
public class GetServletApiActionDemo extends BaseAction {

	/**
	 * 版本号
	 */
	private static final long serialVersionUID = 1L;

	
	@SuppressWarnings("unchecked")
	public String  login(){
		/**
		 * 获取response
		 */
		@SuppressWarnings("unused")
		HttpServletResponse response = this.getResponse();
		/**
		 * 获取resquest
		 */
		HttpServletRequest request = this.getRequest();
		/**
		 * 获取session
		 */
		Map map = this.getSession();
		/**
		 * 获取application
		 */
		@SuppressWarnings("unused")
		Map appMap = this.getApplication();
		/**
		 * 获取session中的数据
		 */
		System.out.println("user  "+map.get("user"));
		/**
		 * 用传统的request,接受前台的数据
		 */
		System.out.println("userName:  "+request.getParameter("userName"));
		System.out.println("password:  " +request.getParameter("password"));
		System.out.println("测试成功");
		return "success";
	}
	
}

 

测试页面:

<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>

<%


session.setAttribute("user","gouchao");
 %>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    <base href="<%=basePath%>">
    
    <title>提取servletApi</title>
    
	<meta http-equiv="pragma" content="no-cache">
	<meta http-equiv="cache-control" content="no-cache">
	<meta http-equiv="expires" content="0">    
	<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
	<meta http-equiv="description" content="This is my page">
	<!--
	<link rel="stylesheet" type="text/css" href="styles.css">
	-->

  </head>
  <body>
  <center>
  <h2><br></h2><h2>提取servletApi</h2>
   <form action="servletApiActionDemo!login.action">
      userName:<input type="text" name="userName"><br>
      password:<input type="password" name="password"><br>
      <input type="submit" >
   </form>
   </center>
  </body>
</html>

index.jsp 

 

<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>
<%
	String path = request.getContextPath();
	String basePath = request.getScheme() + "://"
			+ request.getServerName() + ":" + request.getServerPort()
			+ path + "/";
%>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
	<head>
		<base href="<%=basePath%>">


	</head>

	<body>
		恭喜你!搭建环境成功
	</body>
</html>

 

配置文件:

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE struts PUBLIC
    "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
    "http://struts.apache.org/dtds/struts-2.0.dtd">
<struts>

	<package name="admin" namespace="/" extends="struts-default">
	        <!-- GetServletApiActionDemo -->
        <action name="servletApiActionDemo" class="util.GetServletApiActionDemo">
         <result name="success">/index.jsp</result>
        </action>

	</package>
</struts>

 

效果:

 

 

2
4
分享到:
评论

相关推荐

    Struts2.0的各种配置详解

    Struts2.0的各种配置详解Struts2.0的各种配置详解Struts2.0的各种配置详解Struts2.0的各种配置详解Struts2.0的各种配置详解Struts2.0的各种配置详解Struts2.0的各种配置详解

    struts2.0struts2.0struts2.0struts2.0struts2.0struts2.0

    struts2.0struts2.0struts2.0struts2.0struts2.0struts2.0struts2.0struts2.0struts2.0struts2.0

    struts2.0中文教程

    05 转换器(Converter)——Struts 2.0中的魔术师 06 在Struts 2.0中实现表单数据校验(Validation) 07 Struts 2的基石——拦截器(Interceptor) 08 在Struts 2中实现IoC 09 在Struts 2中实现文件上传 10 在Struts...

    Struts2.0框架技术详解

    Struts2.0框架技术详解。本文描述了Struts2的框架技术详解,希望对大家有所补益。

    Struts2.0视频教程+struts2.0中文教程

    Struts2.0视频教程,struts2.0中文教程,Struts2.0视频教程,struts2.0中文教程,

    Struts 2.0系列(MAX)

    转换器(Converter)——Struts 2.0中的魔术师 在Struts 2.0中实现表单数据校验(Validation) Struts 2的基石——拦截器(Interceptor) 在Struts 2中实现IoC 在Struts 2中实现文件上传 在Struts 2中实现CRUD ...

    sstruts2.0 struts2.0

    sstruts2.0 struts2.0sstruts2.0 struts2.0sstruts2.0 struts2.0sstruts2.0 struts2.0sstruts2.0 struts2.0sstruts2.0 struts2.0sstruts2.0 struts2.0sstruts2.0 struts2.0sstruts2.0 struts2.0

    struts2.0的数据校验框架struts2.0的数据校验框架

    struts2.0的数据校验框架struts2.0的数据校验框架struts2.0的数据校验框架struts2.0的数据校验框架

    JavaEE源代码 Struts2.0

    JavaEE源代码 Struts2.0JavaEE源代码 Struts2.0JavaEE源代码 Struts2.0JavaEE源代码 Struts2.0JavaEE源代码 Struts2.0JavaEE源代码 Struts2.0JavaEE源代码 Struts2.0JavaEE源代码 Struts2.0JavaEE源代码 Struts2.0...

    struts2.0jar包

    struts2.0jar包 struts2.0包 struts2.0源文件

    Struts2.0 Jar包

    此为Struts2.0最新Jar包,方便各位用于Struts2.0的开发.

    struts 2.0 详细配置

    struts 2.0 详细配置 struts 2.0 详细配置 struts 2.0 详细配置

    Struts 2.0

    清晰的介绍了Struts 2.0框架的工作流程,Action线程安全,程序入口,配置文件。

    Struts2.0学习Struts2.0文档

    为Struts 2.0做好准备 Struts作为MVC 2的Web框架,自推出以来不断受到开发者的追捧,得到用广泛的应用。作为最成功的Web框架,Struts自然拥有众多的优点: MVC 2模型的使用 功能齐全的标志库(Tag Library) 开放...

    精心收集的struts2.0标签教程详解

    精心收集的struts2.0标签教程详解,精心收集的struts2.0标签教程详解,精心收集的struts2.0标签教程详解。

    struts2.0入门案例

    struts2.0 入门案例、简单的struts2.0入门案例 2.0配置包,基础

    struts2.0源代码

    struts2.0源代码(有关于struts2.0实现上传与下载和如何操作数据库的源代码),非常有用

    struts2.0架构及详解

    struts2.0架构及详解,很好的参考资料!

    struts2.0的基本jar包

    struts2.0的基本jar包,用于开发struts2.0的项目

    struts2.0的数据校验struts2.0的数据校验

    struts2.0的数据校验struts2.0的数据校验struts2.0的数据校验struts2.0的数据校验struts2.0的数据校验struts2.0的数据校验

Global site tag (gtag.js) - Google Analytics