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>
效果:
分享到:
相关推荐
Struts2.0的各种配置详解Struts2.0的各种配置详解Struts2.0的各种配置详解Struts2.0的各种配置详解Struts2.0的各种配置详解Struts2.0的各种配置详解Struts2.0的各种配置详解
struts2.0struts2.0struts2.0struts2.0struts2.0struts2.0struts2.0struts2.0struts2.0struts2.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的框架技术详解,希望对大家有所补益。
Struts2.0视频教程,struts2.0中文教程,Struts2.0视频教程,struts2.0中文教程,
转换器(Converter)——Struts 2.0中的魔术师 在Struts 2.0中实现表单数据校验(Validation) Struts 2的基石——拦截器(Interceptor) 在Struts 2中实现IoC 在Struts 2中实现文件上传 在Struts 2中实现CRUD ...
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的数据校验框架
JavaEE源代码 Struts2.0JavaEE源代码 Struts2.0JavaEE源代码 Struts2.0JavaEE源代码 Struts2.0JavaEE源代码 Struts2.0JavaEE源代码 Struts2.0JavaEE源代码 Struts2.0JavaEE源代码 Struts2.0JavaEE源代码 Struts2.0...
struts2.0jar包 struts2.0包 struts2.0源文件
此为Struts2.0最新Jar包,方便各位用于Struts2.0的开发.
struts 2.0 详细配置 struts 2.0 详细配置 struts 2.0 详细配置
清晰的介绍了Struts 2.0框架的工作流程,Action线程安全,程序入口,配置文件。
为Struts 2.0做好准备 Struts作为MVC 2的Web框架,自推出以来不断受到开发者的追捧,得到用广泛的应用。作为最成功的Web框架,Struts自然拥有众多的优点: MVC 2模型的使用 功能齐全的标志库(Tag Library) 开放...
精心收集的struts2.0标签教程详解,精心收集的struts2.0标签教程详解,精心收集的struts2.0标签教程详解。
struts2.0 入门案例、简单的struts2.0入门案例 2.0配置包,基础
struts2.0源代码(有关于struts2.0实现上传与下载和如何操作数据库的源代码),非常有用
struts2.0架构及详解,很好的参考资料!
struts2.0的基本jar包,用于开发struts2.0的项目
struts2.0的数据校验struts2.0的数据校验struts2.0的数据校验struts2.0的数据校验struts2.0的数据校验struts2.0的数据校验