`
housheng33
  • 浏览: 236453 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

简洁自定义框架的开发步骤

 
阅读更多
1、定义Action接口
public interface Action {
public String execute(HttpServletRequest request,
   HttpServletResponse response) throws Exception;
}

2、实现自定义Action接口
public class LoginAction implements Action {
public String execute(HttpServletRequest request,
   HttpServletResponse response) throws Exception {
  String name = request.getParameter("uid");
  String password = request.getParameter("pwd");
  // 业务处理
  CustomerBiz ub = new CustomerBizImpl();
  Customer user = ub.login(name, password);
  // 判断登录是否成功
  if (user == null) {
   request.setAttribute("message", "用户名或密码错误");
   return "login.jsp";
  } else {
   request.getSession().setAttribute("login", user);
   return "index.jsp";
  }
}

}

3、实现Controller类ActionServlet
   1)获取自定义Action
public Action getAction(HttpServletRequest request){
      //获取请求的uri
      String uri = request.getRequestURI();
      //获取上下文路径
      String contextPath = request.getContextPath();
      //截取上下文路径以后的部分
      String actionPath = uri.substring(contextPath.length());
      //获取Action 名称
      String actionName =                
      actionPath.substring(1,actionPath.lastIndexOf('.')).trim();
      Action action = null;
     //添加新功能时在这里添加
     if("login".equals(actionName)){
            action = new LoginAction();
      }
     return action;
    }

   2)调用execute方法
    public void doGet(HttpServletRequestrequest,
               HttpServletResponse response) throws Exception {
              //获得Action
              Action action = this.getAction(request);
              //调用Action execute 方法
              String resultView = action.execute(request, response);
       //actionMapping
              request.getRequestDispatcher(resultView).forward(
      request, response);
       }


4、配置ActionServlet
   1)修改web.xml文件,配置ActionServlet
<servlet>
          <servlet-name>ActionServlet</servlet-name>
          <servlet-class>*.*.ActionServlet</servlet-class>
        </servlet>
     <servlet-mapping>
          <servlet-name>ActionServlet</servlet-name>
          <url-pattern>*.action</url-pattern>
     </servlet-mapping>

5、上面只能接受一个action处理,如果有多个action,如何接收呢?
   2)Controller的完善ActionServlet,增加架构配置文件mystruts.xml
   3)保存Action信息,修改Action,ActionMapping,保存配置的Result 属性信息Map<String,String>
   4)读取Action信息,修改ActionServlet的init方法
   5)使用反射生成Action,ActionManager的createAction方法用来获取Action实例
   6)loadClass方法动态加载类ActionManager,loadClass方法动态加载类
   7)修改ActionServlet配置信息
        <servlet>
  <servlet-name>ActionServlet</servlet-name>
  <servlet-class>com.birlt.dangdang.servlet.ActionServlet</servlet-class>
  <init-param>
   <param-name>config</param-name>
   <param-value>mystruts.xml</param-value>
  </init-param>
  <load-on-startup>0</load-on-startup>
</servlet>


6、完善视图
   1)保存视图Result类
   2)修改ActionMapping,保存配置的Result 属性信息Map<String,Result>
   3)增加ActionMappingManager类
   4)修改ActionServlet,需要修改init方法,并将getAction改为getActionMapping,并将修改获取mapping内容


7、注册完成功能
分享到:
评论

相关推荐

    Android自定义的框架

    在Android应用开发中,自定义框架是一个常见的需求,它能够帮助开发者提高代码的复用性、模块化和可维护性。下面将详细讲解Android自定义框架的构建过程、设计原则以及如何在小项目中有效利用。 一、自定义框架的...

    android 自定义控件实现demo收集 及 框架收集

    在Android开发中,自定义控件和框架的运用是提升应用独特性和性能的关键。下面将对"android 自定义控件实现demo收集 及 框架收集"这一主题进行深入探讨。 首先,自定义控件在Android应用开发中扮演着重要角色。它们...

    自定义Orm框架的实现

    在实现自定义ORM框架时,我们需要以下几个关键步骤: 1. **实体类定义**:创建带有注解的实体类,这些类将作为数据库表的映射。例如: ```java @Entity @Table(name = "USER") public class User { @Id ...

    springboot简洁型后台框架

    SpringBoot是一款基于Java的轻量级...通过以上步骤,你就可以将这个简洁型SpringBoot框架转化为符合你需求的后台系统。记住,SpringBoot的强大在于其灵活性和可扩展性,可以根据项目需求添加任何第三方库或自定义功能。

    afinal框架开发源码

    Afinal是一款轻量级的Android ORM(对象关系映射)框架,由知秋二叉枫(FinalTeam)开发。这个框架旨在简化Android应用中的数据库操作,让开发者可以更专注于业务逻辑,而不是繁琐的数据访问层实现。在Afinal中,...

    activiti自定义表单demo.rar

    SpringBoot是Spring框架的简化版本,它简化了配置,使得开发快速、简洁。在本项目中,SpringBoot作为基础框架,用于搭建服务环境,提供自动配置、内嵌Web服务器等功能,便于快速构建可运行的应用程序。 2. **...

    struts2 自定义标签

    三、自定义标签的实现步骤 1. 创建标签库描述文件(TLD,Tag Library Descriptor):这是定义自定义标签的关键文件,用于描述标签的属性、命名空间等信息。例如,`struts-tags.tld`。 2. 编写标签处理类(Tag Class...

    spring自定义标签例子

    在Spring框架中,自定义标签是一项非常实用的功能,它允许我们创建符合XML语法的自定义元素,以便在配置...自定义标签可以作为扩展Spring功能的一种方式,使我们能够按照自己的需求定制框架行为,从而提升开发效率。

    自定义AlertView

    因此,自定义AlertView变得尤为重要,这允许我们根据产品设计和用户体验进行定制化开发。 自定义AlertView的过程主要包括以下几个步骤: 1. **创建UI设计**: 首先,我们需要根据设计稿创建一个符合需求的视图...

    Eclipse自定义标签

    - 与框架集成:许多Java Web框架如Struts、Spring MVC都支持自定义标签,便于和框架集成。 总结,Eclipse自定义标签的学习涵盖了从创建标签类、配置TLD到在JSP页面中使用的所有步骤。这个资源对于Java Web开发者,...

    自定义标签

    开发自定义标签时,一些工具和框架提供了便利,如Apache Struts的Tiles和Spring Web Flow。这些工具提供了更高级别的抽象,简化了自定义标签的创建和管理。 总结来说,自定义标签是Java Web开发中的重要技术,它...

    Android-TimeTask是一个轻量简洁的定时任务队列框架

    `Android-TimeTask`就是这样一款专为Android设计的轻量级、简洁的定时任务队列框架。它旨在简化多组任务的分发和管理工作,使开发者能够更加专注于业务逻辑,而不是底层的调度细节。 `TimeTask`框架的核心思想是...

    使用AUI框架开发微信小程序模板

    在微信小程序的开发过程中,选择合适的框架可以极大地提高开发效率和代码质量。本文将深入探讨如何使用AUI框架来开发微信小程序模板,并介绍AUI框架的特点、优势以及它如何助力微信小程序的模板构建。 AUI框架是专...

    struts实现自定义标签

    Struts 是一个基于 Model-View-Controller (MVC) 设计模式的 Java Web 开发框架,它极大地简化了创建功能丰富的、动态 web 应用的过程。在 Struts 中,自定义标签是提供一种灵活的方式,使得视图层(通常为 JSP 页面...

    QUI框架开发指南说明文件

    它以其简洁的API和强大的功能,为开发者提供了高效开发体验。本指南旨在深入解析QUI框架的核心概念、关键特性和使用方法,帮助开发者快速上手并精通此框架。 一、QUI框架概述 QUI框架基于现代Web技术,如HTML5、CSS...

    canphp框架-php框架

    总结来说,CanPHP框架是一个为PHP开发提供便利的工具,它将复杂的Web应用开发简化为更易操作的步骤。通过深入学习和利用CanPHP,开发者可以高效地构建稳定、安全的PHP应用,并享受到开源社区的持续支持和更新。无论...

    swift-GGCharts一个可以高度自定义的iOS图表框架

    2. **自定义数据源**:框架允许开发者提供自定义的数据源,可以通过简单的数组或结构体来表示图表中的数据点,方便数据绑定。 3. **丰富的配置选项**:每个图表类型都有一系列的配置选项,包括但不限于轴标签、图例...

    web程序-后端框架搭建

    在构建Web应用程序时,后端框架的搭建是至关重要的步骤,它为整个系统提供结构、逻辑和交互的基础。本教程将聚焦于"web程序-后端框架搭建",特别是使用Spring Boot来创建一个传统的Web信息管理系统。让我们深入探讨...

    Yii 自定义Widget Portlet

    Yii 框架是一款高效的PHP开发框架,它提供了一种优雅的方式来组织和构建Web应用程序。在Yii中,Widget是可重用的代码组件,能够帮助开发者快速构建UI(用户界面)。Portlet是Yii中一种特殊的Widget,常用于展示可...

    Hibernate使用——自定义数据类型

    创建自定义数据类型主要包括以下几个步骤: 1. **定义映射类**:创建一个Java类,它将作为自定义数据类型的实现。这个类通常会包含一个或多个基本数据类型的属性,以及必要的getter和setter方法。 2. **实现...

Global site tag (gtag.js) - Google Analytics