`

自己制作的类似Struts1.x 简单web框架

阅读更多
1.利用servelt ,反射 实现 通过url 映射到 action类的方法中。

这个是在我参加工作那年写的,最近工作需要,写一个不使用 struts,spring,hibernate等技术的web框架,用于公司的一个非常小的小系统。

我写了一个框架,然后把之前写的struts 拿出来 简单修改了一下,看了看,自己之前写的代码 有些地方太幼稚了。

呵呵。。


--------------------
我在这列出:web.xml 修改:

<context-param>
<param-name>mjp-config</param-name>
<param-value>mjp-config-*.xml</param-value>
</context-param>
<servlet>
<servlet-name>action</servlet-name>
<servlet-class>com.mjp.core.struts.action.ActionServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>action</servlet-name>
<url-pattern>*.do</url-pattern>
</servlet-mapping>
<listener>
<listener-class>com.mjp.core.struts.listener.ConfigListener</listener-class>
</listener>
-------------------
我的struts 配置文件写法;

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE action-mappings [
    <!ELEMENT action-mappings (action+)>
    <!ELEMENT action (forward+)>
    <!ATTLIST action  path CDATA #REQUIRED>
    <!ATTLIST action  type CDATA #REQUIRED>
    <!ATTLIST forward  name CDATA #REQUIRED>
    <!ATTLIST forward  path CDATA #REQUIRED> 
    <!ATTLIST forward  type CDATA #IMPLIED default (redirect|forward) "forward"> 
   
]>
<action-mappings>
<action path="/login" type="com.mjp.system.action.LoginAction" >
<forward name="success" path="index.do?method=doWelcome" type="redirect"/>
<forward name="input" path="/pages/system/login.jsp" />
</action>
<action path="/index" type="com.mjp.system.action.IndexAction" >
<forward name="input" path="/pages/system/index.jsp" />
<forward name="login" path="login.do?method=doInput" type="redirect"/>
</action>
</action-mappings>


-----------------

比如jsp调用写法:

<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%@page import="com.mjp.core.util.StringUtil"%>
<%
String path = request.getContextPath();
String error = StringUtil.nvl(request.getAttribute("error"));
String login_account = StringUtil.nvl(request.getAttribute("login_account"));
String basePath = request.getScheme() + "://" + request.getServerName() + ":" + request.getServerPort() + path + "/";

%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<base href="<%=basePath%>">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>后台登录</title>
<link rel="stylesheet" type="text/css" href="resources/css/base.css"/>
</head>
  <body id="body" scroll="no">
  <center>
  <form id="form_login" action="system/login.do?method=doLogin" method="post">
<div style="height:100px;"  align="center">
&nbsp;
</div>
                <table style="width:300px;" align="center" cellpadding="5px" cellspacing="2px">
              <tbody>
              <tr>
            <td colspan="4" height="31" align="center" valign="bottom">
            <img src="resources/images/system/login_title.gif" width="180" height="30" />
            </td>
          </tr> 
          <tr>
            <td height="5px" colspan="4">&nbsp;</td>
          </tr>
              <tr>
                    <td width="132" height="20" align="right" valign="middle" class="text12Blue">用户名</td>
                    <td class="separator2"></td>
                    <td colspan="2" align="left" valign="middle">
                      <input id="login_account" name="login_account" type="text" class="input_normal" value="<%=login_account%>" />
                    </td>
                  </tr>
          <tr>
            <td height="20" align="right" valign="middle" class="text12Blue">密码</td>
            <td class="separator2"></td>
            <td colspan="2" align="left" valign="middle">
              <input id="login_password" name="login_password" type="password" class="input_normal" />
            </td>
          </tr>
          <tr>
            <td height="5px" colspan="4">&nbsp;</td>
          </tr>
          <tr>
            <td  colspan="4" align="center">
            <input type="button" name="btn_login" id="btn_login" value="登录" class="button" onclick="javascript:loginSubmit();" />
            &nbsp;&nbsp;
            <input type="reset" name="btn_login_reset" id="btn_login_reset" value="重置" class="button" />
            </td>
          </tr>
          </tbody>
        </table>
        <div style="height:100px;"  align="center"  class="text12Red">
&nbsp;<%=error%>
</div>
  </form>
  </center>  
  </body>
</html>
<script src="resources/js/jquery-1.4.4.js" type="text/javascript"></script>
<script src="resources/js/validate/jquery.validate.js" type="text/javascript"></script>
<script src="resources/js/validate/locale/messages_cn.js" type="text/javascript"></script>
<script src="resources/js/block/jquery.blockUI.js" type="text/javascript"></script>
<script src="pages/system/login.js" type="text/javascript"></script>

-----------------------

自制struts 源码,请下载附件。

分享到:
评论

相关推荐

    java Struts 1.x 框架 Web 开发

    Struts 1.x 是一个基于 Model-View-Controller (MVC) 设计模式的 Java Web 开发框架,由 Apache 软件基金会开发并维护。它在20世纪末到21世纪初广泛应用于企业级Web应用开发,因其强大的功能和良好的社区支持而受到...

    Struts1.x常用的开发包,需要学习struts1.x朋友可以下载

    Struts1.x是一个经典的Java Web框架,由Apache软件基金会维护,它在2000年代中期至晚期广泛应用于企业级应用开发。这个框架基于Model-View-Controller(MVC)设计模式,帮助开发者构建结构清晰、可维护性强的Web应用...

    对struts1.x与struts2.x的区别的总结

    Struts1.x与Struts2.x是两种非常流行的Java Web应用程序框架,它们都由Apache软件基金会开发,旨在简化MVC(Model-View-Controller)架构的实现。然而,两者在设计哲学、功能特性以及实现方式上存在显著差异。以下是...

    struts1.x和struts2.x区别

    Struts2.x相对于Struts1.x在多个方面进行了改进和优化,包括但不限于Action的实现方式、工作流程、数据绑定、视图技术以及验证机制,这些改进共同构成了Struts2.x相较于Struts1.x的优势,使其成为现代Web应用开发中...

    Struts1.x的验证框架示例

    Struts1.x是一个经典的Java Web开发框架,由Apache软件基金会维护。它的主要目的是为了简化MVC(模型-视图-控制器)架构的实现,提高Web应用程序的可维护性和可扩展性。验证框架是Struts1.x的一个重要组成部分,用于...

    struts1.x技术课程讲解.pdf

    **Struts1.x** 是一款基于 Java Servlet 和 JSP 技术的企业级 Web 应用开发框架,它实现了 Model-View-Controller (MVC) 设计模式。此框架旨在简化 Web 应用程序的开发过程,提高代码的可维护性和可扩展性。 - **...

    Struts1.x_Project.zip

    在这个"Struts1.x_Project.zip"压缩包中,我们可以看到一个使用Struts1.x框架构建的简易订餐系统的实例。这个项目将帮助我们深入理解MVC架构以及Struts1.x的核心特性。 **MVC模式详解:** MVC模式是软件设计中的一...

    Struts1.x系列教程(网摘-全)

    Struts1.x是一款经典的Java Web开发框架,由Apache软件基金会维护,主要用于构建MVC(Model-View-Controller)架构的应用程序。本系列教程是针对初学者的全面指导,旨在帮助学习者快速掌握Struts1.x的核心概念和使用...

    魔乐科技Struts2.x框架笔记

    ### 魔乐科技Struts2.x框架笔记详解 #### 一、框架开发基础与特性 **框架开发来源**:框架开发的核心在于反射机制的应用,它使得开发者能够以更为灵活的方式构建应用程序。在Struts2.x框架中,这一点体现得尤为...

    struts1.x apps 所有最新的Struts1.x项目应用

    Struts1.x是一款经典的Java Web框架,由Apache软件基金会开发并维护。它是MVC(Model-View-Controller)设计模式的实现,极大地简化了Java Web应用程序的开发过程。本资源集合包含了所有最新的Struts1.x项目应用,为...

    struts1.x入门教程

    Struts1.x是Apache Jakarta项目的一个重要组成部分,它是一个用于构建企业级Web应用程序的开源MVC框架。该框架的主要目标是简化JavaServer Pages(JSP)、Servlet和标签库的使用,同时提升面向对象的设计效率。...

    Struts1.x的登录示例

    Struts1.x是一个经典的Java Web框架,它在20世纪末至21世纪初被广泛使用,用于构建基于MVC(Model-View-Controller)架构的Web应用。本示例将探讨如何使用Struts1.x实现一个简单的登录功能。首先,我们需要理解...

    搭建struts1.x的jar包

    Struts 1.x 是一个经典的Java Web开发框架,由Apache软件基金会开发,它极大地简化了MVC(模型-视图-控制器)架构的实现。如果你正在寻找如何搭建Struts 1.x的开发环境,以下是一些关键的知识点,以及这些指定的jar...

    freemarker for struts 1.x

    freemarker与struts 1.x 结合,生成html 在http://blog.csdn.net/chen1255 的web中有详细描述关于freemarker与struts1.x的结合

    Struts1.x 中文帮助文档

    Struts1.x是Apache软件基金会旗下Jakarta项目的一个核心组件,它是一款开源的MVC(Model-View-Controller)框架,用于构建企业级Java Web应用程序。这个框架在2000年代初非常流行,因其规范化的开发流程和强大的功能...

    Struts1.x_action

    Struts1.x_action 是一个与Apache Struts 1.x框架相关的资源包,它包含了用于构建基于Java的企业级Web应用程序的组件。Struts是MVC(Model-View-Controller)设计模式的一个实现,它使得开发者可以更有效地管理和...

    struts1.x 常用知识详解

    Struts1.x是Apache软件基金会开发的一个开源框架,主要用于构建基于Java的企业级Web应用程序。它在MVC(Model-View-Controller)设计模式的基础上提供了一种实现方式,使得开发者能够更方便地处理业务逻辑、视图展示...

    Struts1.x入门与提高系列教程.pdf

    Struts 1.x 是Apache软件基金会Jakarta项目的一部分,是一个基于MVC(模型-视图-控制器)设计模式的Web应用框架。它使用Java Servlet和JavaServer Pages技术实现,旨在简化基于Java EE的Web应用程序的开发。 本教程...

    Struts1.x-Hibernate,曾删改查

    Struts1.x 和 Hibernate 是两种在Java Web开发中广泛使用的开源框架,它们分别负责不同的职责。Struts1.x 是一个MVC(Model-View-Controller)框架,主要用于处理Web应用程序的业务逻辑和用户交互,而Hibernate则是...

Global site tag (gtag.js) - Google Analytics