`
wsql
  • 浏览: 12098504 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
文章分类
社区版块
存档分类
最新评论

Struts 注册、登陆、email实例解析

 
阅读更多

一、 web.xml<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />

1. <!-- Action Servlet Configuration -->

<servlet>

<servlet-name>action</servlet-name>

<servlet-class>org.apache.struts.action.ActionServlet</servlet-class>

<init-param>

<param-name>config</param-name>

<param-value>/WEB-INF/struts-config.xml,/WEB-INF/struts-config-registration.xml</param-value>

</init-param>

<load-on-startup>1</load-on-startup>

</servlet>

2. <!-- Application Tag Library Descriptor -->

<taglib>

<taglib-uri>/WEB-INF/app.tld</taglib-uri>

<taglib-location>/WEB-INF/app.tld</taglib-location>

</taglib>

二、 struts-config.xml

1. <form-beans>

<!-- Logon form bean -->

<form-bean name="logonForm"

type="org.apache.struts.validator.DynaValidatorForm">

<form-property name="username" type="java.lang.String"/>

<form-property name="password" type="java.lang.String"/>

</form-bean>

2. <global-forwards>

<forward name="logoff" path="/logoff.do"/>

<forward name="logon" path="/logon.jsp"/>

<forward name="success" path="/mainMenu.jsp"/>

</global-forwards>

3. <action-mappings>

………………

<action path="/tour" forward="/tour.htm"> </action>

………………

</action-mappings>

4. <controller>

<!-- The "input" parameter on "action" elements is the name of a

local or global "forward" rather than a module-relative path -->

<set-property property="inputForward" value="true"/>

</controller>

5. <message-resources parameter="zwd_10.ApplicationResources"/>

<message-resources parameter="org.apache.struts.webapp.example.AlternateApplicationResources" key="alternate">

</message-resources>

6. <plug-in className="org.apache.struts.plugins.ModuleConfigVerifier"/>

<plug-in className="zwd_10.memory.MemoryDatabasePlugIn">

<set-property property="pathname" value="/WEB-INF/database.xml"/>

</plug-in>

<plug-in className="org.apache.struts.validator.ValidatorPlugIn">

<set-property

property="pathnames" value="/WEB-INF/validator-rules.xml,

/WEB-INF/validation.xml"/>

</plug-in>

三、 struts-config-registration.xml

定义Registration的有关操作:

1. form-bean registrationForm

2. global-forwards

<forward name="registration" path="/registration.jsp"/>

3. action-mappings

<action path="/editRegistration"

type="zwd_10.EditRegistrationAction"

attribute="registrationForm"

scope="request"

validate="false">

<forward name="success" path="/registration.jsp"/>

</action>

<action path="/saveRegistration"

type="zwd_10.SaveRegistrationAction"

name="registrationForm"

scope="request"

input="registration"/>

四、 Java文件内容

1. Constants:// 常量类

public final class Constants {

public static final String Package = "zwd_10";

public static final String DATABASE_KEY = "database";

public static final String SUBSCRIPTION_KEY = "subscription";

public static final String USER_KEY = "user"; }

2. User:// 接口

public interface User {

public UserDatabase getDatabase();

public String getFromAddress();

public void setFromAddress(String fromAddress);

public String getFullName();

public void setFullName(String fullName);

public String getPassword();

public void setPassword(String password);

public String getReplyToAddress();

public void setReplyToAddress(String replyToAddress);

public Subscription[ ] getSubscriptions();

public String getUsername();

public Subscription createSubscription(String host);

public Subscription findSubscription(String host);

public void removeSubscription(Subscription subscription); }

MemoryUser://实现User接口

3. UserDatabase:// 接口

public interface UserDatabase {

public User createUser(String username);

public void close() throws Exception;

public User findUser(String username);

public User[ ] findUsers();

public void open() throws Exception;

public void removeUser(User user);

public void save() throws Exception; }

MemoryUserDatabase://实现MemoryUserDatabase接口

4. Subscription:// 接口

public interface Subscription {

public boolean getAutoConnect();

public void setAutoConnect(boolean autoConnect);

public String getHost();

public String getPassword();

public void setPassword(String password);

public String getType();

public void setType(String type);

public User getUser();

public String getUsername();

public void setUsername(String username); }

MemorySubscription://实现MemoryUserDatabase接口

5. MemoryDatabasePlugIn://实现PlugIn接口,在struts-config.xml中有说明

五、 app.tld(自定义的标签库)

1. 声明CheckLogonTag ―――― 对应CheckLogonTag.java

CheckLogonTag:// extends TagSupport接口

2. 声明LinkSubscriptionTag ―――― 对应LinkSubscriptionTag.java

LinkSubscriptionTag:// extends TagSupport接口

3. 声明LinkUserTag ―――― 对应LinkUserTag.java

LinkUserTag:// extends TagSupport接口

六、 registration部分

<?xml:namespace prefix = v ns = "urn:schemas-microsoft-com:vml" /><shapetype id="_x0000_t75" coordsize="21600,21600" o:spt="75" o:preferrelative="t" path="m@4@5l@4@11@9@11@9@5xe" filled="f" stroked="f"><stroke joinstyle="miter"></stroke><formulas><f eqn="if lineDrawn pixelLineWidth 0"></f><f eqn="sum @0 1 0"></f><f eqn="sum 0 0 @1"></f><f eqn="prod @2 1 2"></f><f eqn="prod @3 21600 pixelWidth"></f><f eqn="prod @3 21600 pixelHeight"></f><f eqn="sum @0 0 1"></f><f eqn="prod @6 1 2"></f><f eqn="prod @7 21600 pixelWidth"></f><f eqn="sum @8 21600 0"></f><f eqn="prod @7 21600 pixelHeight"></f><f eqn="sum @10 21600 0"></f></formulas><path o:extrusionok="f" gradientshapeok="t" o:connecttype="rect"></path><lock v:ext="edit" aspectratio="t"></lock></shapetype><shape id="_x0000_i1025" style="WIDTH: 373.5pt; HEIGHT: 186pt" type="#_x0000_t75" o:ole=""><p align="center"><img src="http://www.csdn.net/Develop/ArticleImages/25/25061/CSDN_Dev_Image_2004-3-11706500.emz" width="467" onload="javascript:if(this.width&gt;screen.width-333)this.width=screen.width-333" o:title=""></p></shape>

七、 logon部分

<shape id="_x0000_i1026" style="WIDTH: 357.75pt; HEIGHT: 162.75pt" type="#_x0000_t75" o:ole=""><p align="center"><img src="http://www.csdn.net/Develop/ArticleImages/25/25061/CSDN_Dev_Image_2004-3-11706502.emz" width="467" onload="javascript:if(this.width&gt;screen.width-333)this.width=screen.width-333" o:title=""></p></shape>

八、 logoff部分

<shape id="_x0000_i1027" style="WIDTH: 350.25pt; HEIGHT: 63.75pt" type="#_x0000_t75" o:ole=""><p align="center"><img src="http://www.csdn.net/Develop/ArticleImages/25/25061/CSDN_Dev_Image_2004-3-11706504.emz" onload="javascript:if(this.width&gt;screen.width-333)this.width=screen.width-333" o:title=""></p></shape>

九、 subscription部分

<shape id="_x0000_i1028" style="WIDTH: 504.75pt; HEIGHT: 175.5pt" type="#_x0000_t75" o:ole=""><p align="center"><img src="http://www.csdn.net/Develop/ArticleImages/25/25061/CSDN_Dev_Image_2004-3-11706506.emz" width="467" onload="javascript:if(this.width&gt;screen.width-333)this.width=screen.width-333" o:title=""></p></shape>

以上内容,是我自己的理解,不当之处还请各位批评指正,谢谢。

分享到:
评论

相关推荐

    struts2标签详解与实例

    四、实例解析 以下是一个简单的用户注册表单的示例: ```jsp &lt;%@ taglib prefix="s" uri="/struts-tags" %&gt; 用户注册 用户注册 用户名" required="true" /&gt; 密码" required="true" /&gt; &lt;s:email name=...

    Struts2标签详解及具体实例解析

    ### Struts2标签详解及具体实例解析 #### 一、概述 Struts2是一个基于MVC模式的开源框架,它提供了丰富的标签库来简化Web应用的开发过程。这些标签不仅功能强大,而且易于使用,可以帮助开发者快速构建动态网页。...

    servlet与struts简介

    - **高效性:**Servlet在服务器启动时被加载并在首次请求时实例化,之后多个客户端请求会复用同一个实例,从而提高了性能。 - **安全性:**由于Servlet运行在服务器端,因此可以实现更高级的安全机制来保护应用程序...

    struts

    一个简单的用户注册系统通常包含用户输入信息的JSP页面(reguser.jsp)、ActionForm(如RegUserForm.java)、Action(如RegUserAction.java)和struts-config.xml配置。 **5. JSP页面(reguser.jsp)** JSP页面使用...

    struts入门

    &lt;input type="text" name="email"&gt; 注册"&gt; ``` 这段代码展示了如何使用HTML表单收集用户的信息,并提交到`Register.do`这个URL进行处理。 2. **Web.xml配置**: Web.xml是部署描述符文件,其中定义了...

    struts 标签

    四、实例解析 假设我们有一个用户注册的场景,用户填写表单后提交。在JSP页面中,我们可以使用以下Struts标签: ```jsp &lt;html:text property="email" size="30" maxlength="50"/&gt; ``` 在这个例子中,`...

    struts使用效验器

    `ValidatorPlugIn`加载`validation.xml`文件,并将其解析为`ValidatorForm`实例。`ValidatorActionForm`继承自`ActionForm`,提供了验证功能。 **工具支持:** 开发过程中,IDE如Eclipse或IntelliJ IDEA提供了对...

    SSH项目 form读取xml实例

    SSH(Struts + Spring + Hibernate)是一个经典的Java Web开发框架,它将Struts的MVC设计模式、Spring的依赖注入和事务管理以及Hibernate的对象关系映射整合在一起,为开发者提供了强大的开发工具。在这个"SSH项目 ...

    【转】Struts2 标签库 [Tablib]

    本文将深入探讨Struts2的标签库,包括其基本概念、常用标签及其使用方法,并通过实例来帮助理解。 一、Struts2标签库概述 Struts2标签库是基于JSP标准标签库(JSTL)之上的一套自定义标签集合,它们与JavaBean和EL...

    Freemarker练习实例

    总结来说,"Freemarker练习实例"涵盖了Freemarker的基本用法、与Struts2的集成、模板编写、数据模型绑定、控制结构使用、异常处理、缓存机制及调试技巧等多个方面。通过这个实例,你可以更好地掌握Freemarker在实际...

    ajax经典实例

    **Ajax经典实例详解** Ajax(Asynchronous JavaScript and XML...通过以上经典实例和特效的解析,希望对理解Ajax的应用有更深入的认识。在实际项目中,根据需求灵活运用Ajax,可以让网页功能更加丰富,操作更加流畅。

    JSP_struts2标签大全.doc

    根据给定的部分内容,我们将逐一解析这些标签的功能与应用场景: 1. **a** - 创建一个HTML超链接,等价于HTML的 `&lt;a href=""&gt;` 标签。 - **示例代码**: ```xml 登陆 ``` - **说明**: 这个标签用于生成一个指向...

    jbpm4.4与ssh框架的整合

    5. **添加Struts2框架**:通过MyEclipse的插件为项目添加Struts2能力,会自动创建`struts.xml`配置文件,并在`web.xml`中注册Struts2过滤器。 6. **配置Struts2**:修改`struts.xml`文件,调整Struts2的行为和配置...

    SSH框架实现简单的用户管理系统(增删改查)

    1. **Struts2**:作为前端控制器,Struts2负责接收HTTP请求,解析请求参数,并调用相应的业务逻辑方法。它提供了一套丰富的Action和Result类型,以及拦截器机制,用于处理请求前后的逻辑,如登录验证、日志记录等。...

    JspRun!社区论坛系统 v6.0 bulid 090423 GBK 源码版.rar

    2006年7月 CNNIC 发布的最新统计表明,43.2% 的中国网民经常使用论坛/BBS/讨论组,论坛社区应用首次超过即时通讯 IM ,成为仅次于收发Email的互联网基本应用。 JspRun!是飞速创想(北京)科技有限公司推出的一套通用的...

    JspRun!社区论坛系统 v6.0 bulid 090424 GBK 安装版.rar

    2006年7月 CNNIC 发布的最新统计表明,43.2% 的中国网民经常使用论坛/BBS/讨论组,论坛社区应用首次超过即时通讯 IM ,成为仅次于收发Email的互联网基本应用。 JspRun!是飞速创想(北京)科技有限公司推出的一套通用的...

    JavaEE源码健康管理系统源码数据库sql文档

    根据提供的文件信息,本文将对“JavaEE源码健康管理系统源码数据库sql文档”进行深入解析,主要包括以下几个方面的内容:JavaEE技术栈介绍、健康管理系统功能概述、SSH框架原理及应用、Oracle数据库设计与实现、以及...

    java面试宝典

    135、在JSP中能发送EMAIL吗 34 136、在SERVLET中我能调用一个JSP错误页吗 34 137、APPLET和JSP如何通讯 35 138、JSP如何与EJB SessionBean通讯 35 139、当我使用一个结果集时,如何防止字段为"null"的字域显示在我的...

Global site tag (gtag.js) - Google Analytics