package com.ruangao.framework.web.action;
import java.util.Map;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.apache.struts2.ServletActionContext;
import org.apache.struts2.interceptor.ServletRequestAware;
import org.apache.struts2.interceptor.ServletResponseAware;
import org.apache.struts2.interceptor.SessionAware;
import com.googlecode.jsonplugin.annotations.JSON;
import com.opensymphony.xwork2.ActionContext;
import com.opensymphony.xwork2.ActionSupport;
import com.ruangao.framework.constants.Constants;
public class BaseAction extends ActionSupport implements SessionAware,
ServletRequestAware, ServletResponseAware {
private static final long serialVersionUID = 7241480283222137733L;
private Map session;
private HttpServletRequest servletRequest;
private HttpServletResponse servletResponse;
protected final Log logger = LogFactory.getLog(getClass());
public void setSession(Map session) {
this.session = session;
}
public void setServletRequest(HttpServletRequest servletRequest) {
this.servletRequest = servletRequest;
}
public void setServletResponse(HttpServletResponse servletResponse) {
this.servletResponse = servletResponse;
}
/**
*
* <p>
* Discription:[查询IP地址]
* </p>
*
* @return
*/
public String findIp() {
return this.servletRequest.getRemoteAddr();
}
/**
*
* <p>
* Discription:[方法功能中文描述]
* </p>
*
* @param key
* @param value
*/
public void insertSession(String key, Object value) {
ActionContext actionContext = ActionContext.getContext();
Map session = actionContext.getSession();
session.put(key, value);
}
/**
*
* <p>
* Discription:[插入session]
* </p>
*
* @param value
*/
public void insertSysUserSession(Object value) {
ActionContext actionContext = ActionContext.getContext();
Map session = actionContext.getSession();
session.put(Constants.SESSION_KEY_SYS_USER, value);
}
/**
*
* <p>
* Discription:[移除session]
* </p>
*/
public void removeSysUserSession() {
ActionContext actionContext = ActionContext.getContext();
Map session = actionContext.getSession();
session.remove(Constants.SESSION_KEY_SYS_USER);
}
/**
*
* <p>
* Discription:[插入session]
* </p>
*
* @param value
*/
public void insertRegUserSession(Object value) {
ActionContext actionContext = ActionContext.getContext();
Map session = actionContext.getSession();
session.put(Constants.SESSION_KEY_REG_USER, value);
}
/**
*
* <p>
* Discription:[移除session]
* </p>
*/
public void removeRegUserSession() {
ActionContext actionContext = ActionContext.getContext();
Map session = actionContext.getSession();
session.remove(Constants.SESSION_KEY_REG_USER);
}
/**
*
* <p>
* Discription:[根据key查找]
* </p>
*
* @param key
* @return
*/
public Object findSession(String key) {
ActionContext actionContext = ActionContext.getContext();
Map session = actionContext.getSession();
return session.get(key);
}
// 定义方法
private String method;
@JSON(serialize = false)
public String getMethod() {
return method;
}
public void setMethod(String method) {
this.method = method;
}
public HttpServletRequest getServletRequest() {
ActionContext ctx = ActionContext.getContext();
HttpServletRequest request = (HttpServletRequest) ctx
.get(ServletActionContext.HTTP_REQUEST);
return request;
}
public HttpServletResponse getServletResponse() {
ActionContext ctx = ActionContext.getContext();
HttpServletResponse response = (HttpServletResponse) ctx
.get(ServletActionContext.HTTP_RESPONSE);
return response;
}
}
import java.util.Map;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.apache.struts2.ServletActionContext;
import org.apache.struts2.interceptor.ServletRequestAware;
import org.apache.struts2.interceptor.ServletResponseAware;
import org.apache.struts2.interceptor.SessionAware;
import com.googlecode.jsonplugin.annotations.JSON;
import com.opensymphony.xwork2.ActionContext;
import com.opensymphony.xwork2.ActionSupport;
import com.ruangao.framework.constants.Constants;
public class BaseAction extends ActionSupport implements SessionAware,
ServletRequestAware, ServletResponseAware {
private static final long serialVersionUID = 7241480283222137733L;
private Map session;
private HttpServletRequest servletRequest;
private HttpServletResponse servletResponse;
protected final Log logger = LogFactory.getLog(getClass());
public void setSession(Map session) {
this.session = session;
}
public void setServletRequest(HttpServletRequest servletRequest) {
this.servletRequest = servletRequest;
}
public void setServletResponse(HttpServletResponse servletResponse) {
this.servletResponse = servletResponse;
}
/**
*
* <p>
* Discription:[查询IP地址]
* </p>
*
* @return
*/
public String findIp() {
return this.servletRequest.getRemoteAddr();
}
/**
*
* <p>
* Discription:[方法功能中文描述]
* </p>
*
* @param key
* @param value
*/
public void insertSession(String key, Object value) {
ActionContext actionContext = ActionContext.getContext();
Map session = actionContext.getSession();
session.put(key, value);
}
/**
*
* <p>
* Discription:[插入session]
* </p>
*
* @param value
*/
public void insertSysUserSession(Object value) {
ActionContext actionContext = ActionContext.getContext();
Map session = actionContext.getSession();
session.put(Constants.SESSION_KEY_SYS_USER, value);
}
/**
*
* <p>
* Discription:[移除session]
* </p>
*/
public void removeSysUserSession() {
ActionContext actionContext = ActionContext.getContext();
Map session = actionContext.getSession();
session.remove(Constants.SESSION_KEY_SYS_USER);
}
/**
*
* <p>
* Discription:[插入session]
* </p>
*
* @param value
*/
public void insertRegUserSession(Object value) {
ActionContext actionContext = ActionContext.getContext();
Map session = actionContext.getSession();
session.put(Constants.SESSION_KEY_REG_USER, value);
}
/**
*
* <p>
* Discription:[移除session]
* </p>
*/
public void removeRegUserSession() {
ActionContext actionContext = ActionContext.getContext();
Map session = actionContext.getSession();
session.remove(Constants.SESSION_KEY_REG_USER);
}
/**
*
* <p>
* Discription:[根据key查找]
* </p>
*
* @param key
* @return
*/
public Object findSession(String key) {
ActionContext actionContext = ActionContext.getContext();
Map session = actionContext.getSession();
return session.get(key);
}
// 定义方法
private String method;
@JSON(serialize = false)
public String getMethod() {
return method;
}
public void setMethod(String method) {
this.method = method;
}
public HttpServletRequest getServletRequest() {
ActionContext ctx = ActionContext.getContext();
HttpServletRequest request = (HttpServletRequest) ctx
.get(ServletActionContext.HTTP_REQUEST);
return request;
}
public HttpServletResponse getServletResponse() {
ActionContext ctx = ActionContext.getContext();
HttpServletResponse response = (HttpServletResponse) ctx
.get(ServletActionContext.HTTP_RESPONSE);
return response;
}
}
发表评论
-
初学者学习linux
2012-12-19 17:53 657http://wuhaoshu.blog.51cto.com/ ... -
jquery选择器总结
2012-11-21 11:43 9461.<script type="text/ja ... -
外网的压力测试
2012-11-07 10:32 1136外网的压力测试,可以使用apache的ab或curl-load ... -
试着学学object-c
2012-11-05 15:50 7961.http://www.neatstudio.com/sho ... -
栈的基本原理,实现自己的堆栈
2012-10-23 10:16 1247栈是重要的数据结构,从数据结构角度看,栈也是线性表,其特殊性在 ... -
java双括弧初始化
2012-10-22 17:39 137501. Map map = new HashMap() {{ ... -
学习java单例模式
2012-10-22 16:16 697http://calmness.iteye.com/blog/ ... -
JsonUtil错误总结
2012-09-26 10:10 1054java.lang.Integer cannot be cas ... -
struts2总结错误
2012-09-25 10:40 7241.数据类型的不对应,一般是,后台要求int而前端的zoneI ... -
Jquery总结
2012-09-18 14:08 0$.toJSON(); $.parseJson(unescap ... -
mysql学习总结
2012-08-23 17:19 8381.<![CDATA[ select ifnull(su ... -
学习强者的成长之路
2012-08-09 10:25 835http://xwnet.blog.51cto.com/233 ... -
MD5正规的写法
2012-07-20 10:26 876public static String getMD5(byt ... -
引用:异常处理!
2012-07-20 09:37 705... -
关于网站的设计
2012-07-19 10:08 740网站的性能优化:http://www.cnblogs.com/ ... -
eval用法
2012-07-12 10:12 877在函数中改变全局变量 var X2={} X2.Eval= ... -
错误总结
2012-07-11 10:38 6361.missing ) in parenthetical错误可 ... -
登录验证struts2
2012-07-09 09:40 738类需要继承ActionSupport,重写execute方法, ... -
学习js的好地方
2012-06-28 13:16 792http://www.zhuoda.org/lunzi/dir ... -
登陆页面
2012-06-26 18:42 977http://themeforest.net/item/dre ...
相关推荐
在本压缩包“OPCUAj C# 基类文件.zip”中,包含的是用C#语言编写的OPC UA客户端相关的代码。 `Opc.Ua`是OPC Foundation提供的.NET框架,用于实现OPC UA的服务器和客户端。这个命名空间提供了OPC UA的核心类和接口,...
本项目是一个基于JavaWeb技术...综上所述,这个JavaWeb疫苗预约系统项目涉及了Web开发中的基础和关键环节,包括用户身份验证、会话管理、数据库操作和前后端交互,对于学习和理解JavaWeb开发流程具有很好的实践价值。
接着,`Base`是SQLAlchemy用来作为所有数据库模型的基类。我们定义自己的数据库模型类,继承自`Base`,并用`declarative_base()`函数来设置。例如: ```python from sqlalchemy.ext.declarative import declarative...
在具体实现上,开发者需要新建一个Controller基类,并在其中的`OnActionExecuting`方法中加入Session校验逻辑。例如,可以检查Session中是否有用户信息,如果没有则返回登录页面的重定向。然后,其他需要进行登录...
3. **强大的Action类**:Action是处理用户请求的核心组件,Struts2中的Action类可以继承自任何类,不局限于特定的基类,这为Action的设计提供了极大的自由度。 4. **结果类型(Result Types)**:Struts2预定义了...
3. Hibernate 框架的学习难度:Hibernate 框架的学习难度主要在于理解 Hibernate 框架的 ORM 模式和 Session 工厂机制。 六、SSH 框架项目优化的应用场景 1. Web 应用程序:SSH 框架项目优化可以应用于 Web 应用...
9.2.1 接口和基类 9.2.2 开发 9.3 标签库文件 9.3.1 taglib 9.3.2 tag 9.4 定位一个tld文件 9.4.1 在Web.xml中定位一个tld文件 9.4.2 直接在JSP文件中定位tld文件 9.5 扩展标签实例 9.5.1 得到父标签的数据...
4. Session管理,了解如何在不同请求之间保持用户状态,以及如何处理session过期和失效。 5. 处理HTTP方法(GET、POST等)和MIME类型,以及使用HTTP头信息。 6. 异步Servlet编程,了解如何在Servlet 3.0及以上版本中...
根据给定文件的信息,...具体来说,我们学习了如何使用Hibernate进行数据库操作,如何配置Struts的Action映射以及如何在前端实现用户界面与后端服务之间的交互。这些知识点对于开发基于Java Web的应用程序非常有用。
CI中的每个控制器都是一个类,类名首字母需大写,继承自`CI_Controller`基类,且类文件名与类名保持一致。访问任何页面都需要通过控制器,例如,HTML中的`frame`标签可以这样加载页面:`('controller/function'); ?>...
8. **Action上下文(ActionContext)**:ActionContext是Struts2中保存请求和会话数据的上下文对象,包含了请求参数、session数据等,可以用来在Action间共享数据。 9. **Struts2与Spring集成**:Struts2可以方便地...
XPO学习资料(DevExpress) XPO是由DevExpress提供的一种商业的ORM工具,从概念上来说XPO是一种简单的对象映射技术,是一种把一个普通类变成持久化类的技术。也就是让一个普通的类和数据库中的一个表对应。把表中的...
在Hibernate中,持久化类需要继承Hibernate的持久化基类或者实现Serializable接口,同时需要在映射文件中定义其与数据库表的对应关系。这通常涉及到以下元素:类名、表名、属性与列的映射、主键生成策略等。例如,一...
ORM(Object-Relational Mapping)允许我们将数据库表与Python类关联起来,通过继承`sqlalchemy.ext.declarative.declarative_base()`创建基类,并定义类属性来映射列。例如: ```python from sqlalchemy.ext....
在Python中定义数据模型,可以使用SQLAlchemy的`declarative_base()`函数创建一个基类,然后定义继承自这个基类的类来代表数据库表。每个类的属性对应表中的列,通过设置不同的属性类型(如String、Integer等),...
ASP.NET是一种基于.NET Framework的服务器端编程环境,用于构建动态网站、Web应用程序和Web服务。...通过不断学习和实践,开发者可以更好地利用ASP.NET和基类库构建高效、安全、易于维护的Web应用。
这通常通过继承`declarative_base()`函数创建的基类并使用`Column`、`Integer`、`String`等装饰器完成。例如: ```python from sqlalchemy import Column, Integer, String from sqlalchemy.ext.declarative ...
ThoughtWorks南非办事处的"Solid Principles Session"项目,不仅是一个学习平台,也是一个实践场。团队成员将有机会通过实际编码来体验这些原则如何改善代码结构,提高软件的可维护性和可扩展性。通过这样的持续学习...
这个类展示了如何使用Hibernate的简单操作,如`get()`, `add()`, `del()`, 和 `update()`方法,这些方法调用了基类的抽象方法,进一步简化了DAO层的实现。 在Hibernate中,对象的状态分为瞬时状态、持久状态和脱管...
3. **Entity(实体)**:在对象模型中,实体代表数据库中的表,它们通过接口或基类与NHibernate关联。例如,你可以有一个`User`类,它对应数据库中的`Users`表。 4. **Mapping(映射)**:映射文件(通常为XML或...