新建一个BaseAction:
public abstract class BaseAction extends Action {
public ActionForward execute(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response) throws Exception {
// TODO Auto-generated method stub
ActionForward forward = null;
forward = run(mapping, form, request, response);
Cookie ck[]=request.getCookies();
String login=null;
for(int i=0;i<ck.length;i++){
if(ck[i].getName().equals("cookielogin"))
login=ck[i].getValue();
}
if(request.getSession().getAttribute("login")==null&&StringUtils.isEmpty(login))
return mapping.findForward("login");
return forward;
}
public abstract ActionForward run (ActionMapping mapping, ActionForm form,
HttpServletRequest request,
HttpServletResponse response)
throws SQLException, Exception;
}
testAction中
public ActionForward run(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response)
throws SQLException, Exception {
ActionForward forward = null;
if (mapping.getPath().equals("/test")) {
forward = testaction(mapping, form, request, response);
}
return forward;
}
public ActionForward testaction(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response) throws Exception {
.....
分享到:
相关推荐
`BaseAction`通常会包含错误处理、日志记录、请求参数验证等常见操作,以此提高代码的可重用性和可维护性。 首先,我们需要理解Action类的作用。在Struts框架中,Action是MVC模式中的Controller层,接收来自视图...
在Java编程中,`Utils` 类和 `BaseAction` 是两个常见的概念,它们在软件开发中扮演着重要的角色。下面将详细阐述这两个概念及其在实际应用中的作用。 首先,我们来了解一下 `Utils` 类。`Utils`(工具类)通常是...
`BaseAction`作为所有具体Action类的超类,可以封装共有的方法,如日志记录、权限验证、数据校验等,减少代码重复,提高代码复用性。 1. **继承与多态**:`BaseAction`作为超类,其他类通过继承它来获得其特性,这...
public class LoginAction extends BaseAction { /** * 员工登录 * @return * @throws Exception */ public void empLogin() { Logger logger = LoggerFactory.getLogger(LoginAction.class); // 可以采用...
本篇将深入探讨一个被誉为“史上最灵活、强大”的分页框架,结合提供的`BaseAction.java`源码,我们将分析其设计思路和技术要点。 首先,强大的分页框架应具备以下几个核心特性: 1. **灵活性**:框架需要适应不同...
1. **BaseAction**:这是BS(Browser-Server)架构中的一个基础Action类,用于处理请求。`forwardMap.put("forward", "next")`这一行代码表明,它可能用于设置请求的转发路径,可以是.jsp页面或.do动作。 2. **...
这样的拦截器允许我们对应用程序中的特定方法调用进行拦截,并在调用前后记录日志信息,以提升系统的可追踪性和调试能力。 首先,我们需要理解S2SH框架的核心组件。Spring是依赖注入(DI)和面向切面编程(AOP)的...
这些节点可能被用于构建分页列表,每个节点对应数据库中的一条记录。 `index.jsp`、`left.jsp`是两个JSP页面,它们可能是应用的视图层,展示数据和分页导航。`index.jsp`可能是主页面,`left.jsp`可能是左侧的侧...
6. **BaseAction类**:`BaseAction`可能是所有Action类的基类,它可能包含了一些通用的方法,如事务管理、日志记录等,以减少代码重复。 7. **StartExam类和QuestionsForm类**:`StartExam`可能是考试功能的实现,...
`BaseAction` 类很可能包含了所有后台操作的通用方法和逻辑,如权限验证、数据过滤、日志记录等。开发者可以继承这个基类,创建自己的控制器,从而减少重复代码,提高代码复用性。 其次,`Form.class.php` 文件可能...
业务层使用Spring框架,通过BaseAction类实现服务定位器设计模式。持久层利用Hibernate框架处理数据存储,通过HibernateTemplate提供DAO组件与数据库交互。 5. **接口设计**: 用户接口以英文或汉字开头,最多6个...
- **拦截器**是Struts2框架中的一个核心组件,用于对Action执行前后进行一系列操作,如权限验证、日志记录等。 - **自定义拦截器**则是开发者可以根据自己的需求编写特定逻辑的拦截器。 #### 1.2 实现步骤 1. **...
通常,Action类会继承`BaseAction`或`ActionSupport`,以便利用其提供的便利功能。如果Action类不包含CRUD操作,可以直接继承`ActionSupport`。快速创建Action类的方式是复制已有类并修改参数和方法名。 配置文件...
public class GetPasswordAction extends BaseAction { private User user; public User getUser() { return user; } public void setUser(User user) { this.user = user; } public String getpass() { ...
横切关注点指的是那些贯穿多个模块的功能,如权限控制、日志记录、事务管理和错误处理。在OOP中,这些关注点往往导致代码重复和分散,增加了系统维护的复杂性。 AOP引入了“Aspect”概念,将这些横切关注点封装到可...
事务管理确保了数据库操作的一致性,拦截器则用于在特定的时机执行额外的逻辑,如日志记录、权限检查等。在Spring中,可以通过配置XML文件来定义事务管理策略,例如使用`@Transactional`注解来声明方法需要在事务...
拦截器可以用于执行通用任务,如日志记录、权限验证、事务管理等。拦截器通过配置文件进行注册和调用,使得系统更加灵活和可扩展。 - **fileUpload拦截器**:这个拦截器专门处理文件上传。它依赖于`commons-...
Struts2可以很好地与Spring框架集成,实现Action类的依赖注入,同时,通过Struts2的拦截器,可以实现如权限验证、日志记录等功能。 在整合ibatis、spring和struts2的过程中,首先要配置Spring的ApplicationContext...
在Web应用的底层,BaseAction通常是一个基类,包含了通用的方法和属性,为其他Action提供继承和复用的基础。这可能包括错误处理、请求参数解析、会话管理等功能。这样做可以保持代码的整洁和一致性,减少重复工作。 ...