好久没写blog了,新年的第一篇,写点入门的东西,其实struts1已经很久不用了,最近发现就算是以前会的东西用的时候也会忘得差不多了,现在用struts1的人不多了,不过做为一个精典的框架,还是写出来留做一个备忘吧,也给新人当做个入门的东西。明天加入了dao数据访问层的。
项目结构以及引用到的包
代码只有关键部分,如果要细看的话,就下载整个工程看吧。
web.xml
<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</param-value>
</init-param>
<init-param>
<param-name>debug</param-name>
<param-value>3</param-value>
</init-param>
<init-param>
<param-name>detail</param-name>
<param-value>3</param-value>
</init-param>
<load-on-startup>0</load-on-startup>
</servlet>
struts-config.xml
<struts-config>
<form-beans >
<form-bean name="userForm" type="com.mefly.struts1.form.UserForm" ></form-bean>
</form-beans>
<global-exceptions />
<global-forwards />
<action-mappings >
<action
path="/userAction"
type="com.mefly.struts1.action.UserAction"
name="userForm"
parameter="method"
scope="request"
validate="true"
input="/login.jsp"
>
<forward name="login" path="/login.jsp"/>
<forward name="success" path="/success.jsp"/>
</action>
</action-mappings>
<message-resources parameter="com.mefly.struts1.ApplicationResources" />
</struts-config>
from
public class UserForm extends ActionForm{
private int id;
private String username;
private String password;
action
package com.mefly.struts1.action;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionForward;
import org.apache.struts.action.ActionMapping;
import org.apache.struts.action.ActionMessage;
import org.apache.struts.action.ActionMessages;
import org.apache.struts.actions.DispatchAction;
import com.mefly.struts1.form.UserForm;
public class UserAction extends DispatchAction {
public ActionForward login(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse arg3)
throws Exception {
UserForm userForm = (UserForm) form;
if ("mefly".equals(userForm.getUsername())
&& "123".equals(userForm.getPassword())) {
return mapping.findForward("success");//用户名密码正确的话跳转到成功页
}
ActionMessages message = new ActionMessages();
message.add(ActionMessages.GLOBAL_MESSAGE,new ActionMessage("exception_10001"));
saveMessages(request,message);
return mapping.findForward("login");
}
}
login.jsp
<form action="userAction.do" method="post">
输入mefly/123才会跳转:<br/>
<input type="hidden" name="method" value="login" />
用户名:<br/>
<input type="text" name="username" id="username" /><br/>
密码:<br/>
<input type="password" name="password" id="password" /><br/>
<input type="submit" value="提交" />
<input type="reset" value="重置"/>
<br/>
<html:messages id="messages" message="true">
<bean:write name="messages" />
</html:messages>
</form>
没有什么过多需求解释的,成功跳到success,失败跳到login.jsp,还会显示错误信息,错误信息写在资源文件里了。
action 继承了 DispatchAction。
- 大小: 83.8 KB
- 大小: 39.7 KB
分享到:
相关推荐
综上所述,Struts1入门教程的核心内容包括Action的编写、struts-config.xml配置、ActionForm的使用、视图层的JSP设计以及源码阅读和开发工具的运用。通过学习这些基础知识,你可以开始构建自己的Java Web应用程序,...
这个“HelloWorld入门系列之Swing入门 简单的桌面小词典”旨在引导初学者了解并掌握Swing的基本用法,通过创建一个实际的小应用来实践理论知识。在本教程中,我们将会探讨Swing的主要组件、布局管理以及事件处理。 ...
"HelloWorld"是学习任何新技术时的入门示例,Struts2也不例外。这个例子通常帮助开发者了解如何在Struts2框架下设置基本的配置并展示一个简单的页面。 首先,我们需要理解Struts2的核心组件。`struts2-core-2.2.1.1...
这个简单的"struts2 helloworld"项目是学习Struts2框架的基础,它涵盖了Struts2的核心概念,包括Action、配置文件、以及视图渲染。随着对Struts2框架的深入学习,你可以了解更多的功能,如拦截器、结果类型、OGNL...
Struts2HelloWorld是一个经典的入门教程,旨在帮助初学者理解并掌握Apache Struts2框架的基础用法。Apache Struts2是一款强大的MVC(Model-View-Controller)框架,广泛应用于Java Web开发,提供了丰富的功能来简化...
它继承了Struts1的优点,并在其基础上进行了改进,引入了更多现代Web开发的最佳实践。这篇入门级教程将帮助初学者理解Struts2的基本概念和工作原理。 在Struts2中,HelloWorld程序是一个标准的起点,它展示了框架的...
在本示例中,"struts2完整的Hello Word例子"是帮助开发者理解并熟悉Struts2基本工作原理和配置的一个入门级教程。下面将详细介绍这个Hello World应用的关键知识点。 1. **Struts2框架概述**: Struts2作为继Struts...
在这个"Struts2之HelloWord实例"中,我们将深入理解如何使用Struts2创建一个简单的应用程序。 首先,我们需要了解Struts2的核心概念。Struts2框架通过Action类来处理用户请求,Action类是业务逻辑的载体。当用户...
struts2的概述struts2下的HelloWord struts2基础 struts2做好准备 struts2的标志 struts2的Action讲解 struts2中的国际化 struts2转化器 struts2实现表单数据校验 struts2的基石-拦截器 struts2中实现IOC struts2中...
"Hello, World"是编程世界的入门示例,用于演示基本的程序运行流程,同样,在学习Struts2.0时,我们也会从创建一个简单的"Hello, World"应用开始。 首先,我们需要理解Struts2.0的核心组件和工作原理。Struts2.0...
本教程将带你逐步了解如何在Android平台上创建一个简单的应用程序,展示“Hello, World!”。 首先,我们从`strings.xml`配置文件开始。这是Android应用中管理文本资源的地方。在`res/values/strings.xml`文件中,你...
在本教程中,我们将学习如何使用DWR 3.0进行快速入门,通过一个简单的“Hello, World”实例来理解其工作流程。 首先,我们需要创建一个Web工程,并导入DWR 3.0的相关库。这通常包括DWR的核心JAR包和可能需要的日志...
本教程将带你一步步了解如何使用Maven搭建项目环境,并结合SpringMVC实现一个简单的“Hello World”应用,其中包括两个页面的跳转。 首先,Maven是一个项目管理和综合工具,它帮助开发者管理项目的构建、依赖和文档...
NULL 博文链接:https://pwpw1218.iteye.com/blog/2106955
这篇博客“extjs入门之hello world”应该是引导初学者了解并开始使用ExtJS的基本步骤。由于描述部分是空的,我们将主要依据标题和标签来探讨相关知识点。 首先,让我们来看看“源码”这个标签。在学习任何编程技术...
这个"spark-windows helloworld入门例子"是专为Windows用户设计的,旨在帮助初学者快速理解和掌握Spark的基本用法。 首先,我们需要了解Spark的核心概念。Spark的核心在于它的弹性分布式数据集(Resilient ...
【SpringMVC 框架入门详解】 SpringMVC 是 Spring 框架的一个模块,主要负责处理 Web 请求。它是一个轻量级的、模型-视图-控制器(MVC)架构,使得开发者可以轻松地将业务逻辑与展示层分离,从而实现更高效的开发。...
包含通过spring框架,对web项目的所有基本功能使用,包括...通过一个demo基本花费半天时间入门springboot. 项目导入sts(集成了springboot开发插件的eclipse)后,直接通过springboot启动运行就可以。jdk必须1.8及以上