前段时间学过一下struts1,其实也就是配置web工程成功而已,但是过了一个多月后,当再想继续学习的时候,感觉和从头开始没有什么两样了,为什么?因为我没有总结,没有形成自己的一套体系。胡-哥说过,技术博客为什么要发表? 不发表就没有留存, 没有留存就没有记忆,没有记忆就没有历史,没有历史就没有存在,没有存在就没有意义!所以我决定了在以后的学习中都要把学到的东西记录下来,让这些见证自己的成长。
话说多了,前两天接触了struts2, struts2给我第一的感觉就是比struts操作简单,省去了很多步骤,更灵活(其实struts1我只是学过几天而已,感觉特别繁琐)。
今天就记录第一个怎么配置第一个struts工程。
1、 下载struts类库http://www.apache.org/ 我用的是2.1.6版本,myeclipse8.6
2、 创建web工程,将一些必要的类库拷贝到WebRoot目录的lib下。下载到的类库很多,其中必需的有7个:
(1)commons-fileupload-1.2.1.jar
(2)commons-io-1.3.2.jar
(3)commons-logging-1.0.4.jar
(4)freemarker-2.3.13.jar
(5)ognl-2.6.11.jar
(6)struts2-core-2.1.6.jar
(7)xwork-2.1.2.jar
3、编写配置文件struts.xml文件,此文件要放在src目录下
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.1//EN"
"http://struts.apache.org/dtds/struts-2.1.dtd">
<struts>
<package name="struts2" extends="struts-default">
<action name="login" class="com.champion.action.LoginAction">
<result name="sucess">/index.jsp</result>
</action>
</package>
</struts>
说明:struts2和strus1在配置文件就有很大的不同,它的配置信息比struts1简单多了,它一<struts>开头,里 面有<bean>,<struts>,<include>,<package>四个子标签,现在我只到到过<package>这个标签,所以就分析一下 这个标签的有什么用,<package>的name属性可以随便取,extents表示继承stuts-default.xml这个配置文件(这或许就是struts2配置信息比较简单吧,个人的猜想而已).<package>标签下也有很多个子标签,经常用到的是<action>,这个标签看它的名字就可以知道是什么意思了,在这里,我定义了一个name="login"的动作,它对应的类为
class="com.champion.action.LoginAction",<action>标签下有个<result>标签,它的作用就是在动作类处理后需要处理的结果。关于这个配置的文件就说这么多,以后再慢慢深入…
4、有了这配置文件还是不行的,必须得让tomcat知道有个文件,它才会把struts2的类库加载到内存来,所以还得在web.xml里面配置。
<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.5" xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">
<welcome-file-list>
<welcome-file>login.jsp</welcome-file>
</welcome-file-list>
<filter>
<filter-name>struts2</filter-name>
<filter-class>
org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>struts2</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
</web-app>
说明:这个文件的配置和struts1也有明显的不同,struts1采用的是动作控制的servlet来配置,而这个是通过过滤器来控制的,只要配置的有<filter>和<filter-mapping>这两个标签,其中的<filter-class>是固定的,<filter-name>要一致,否则将无法找到对应的过滤器,<url-pattern>/*<url-pattern>表示所以的请求都交给这个过滤器过滤。
5、编写LoginAction.java代码
package com.champion.action;
public class LoginAction {
private String username;
private String userpwd;
public String getUsername() {
return username;
}
public void setUsername(String username) {
this.username = username;
}
public String getUserpwd() {
return userpwd;
}
public void setUserpwd(String userpwd) {
this.userpwd = userpwd;
}
public String execute() throws Exception {
return "sucess";
}
}
说明:这个动作类里面有两个属性username和userpwd以及他们的set和get方法,这两个属性名称要和页面的输入框name属性值相同,还有一个方法execute(),这个方法是struts2内置的,它返回一个字符串类型,当在页面请求login.acion时,它就会自动将页面的值赋给这两个属性。
6、编写login.jsp页面
<%@ page language="java" import="java.util.*" pageEncoding="gbk"%>
<html>
<head>
<title>用户登录</title>
</head>
<body>
<form action="login.action" method="post">
用户名:
<input type="text" name="username" />
<br>
密 码:
<input type="password" name="userpwd" />
<br>
<input type="submit" value="提交" />
<input type="reset" value="重置" />
</form>
</body>
</html>
说明:可以看到两个输入框的name属性值和LoginAction类中的属性值一致,表单的action="login.action",当
表单提交时,后台就会调用LoginAction这个类。
7、编写index.jsp页面,表示登录成功后需要显示的页面
<%@ page language="java" import="java.util.*" pageEncoding="gbk"%>
<html>
<head>
<title>个人信息中心</title>
</head>
<body>
用户名:${requestScope.username }
密 码:${requestScope.userpwd }
</body>
</html>
说明:这个页面用来EL表达式来显示用户的信息,其他的不多说了。
8、启动工程,看结果,有图有真相。
在login.jsp页面输入如下:
提交后在index.jsp页面输出如下:
9、整个流程是怎么样的
说明:在index页面中的代码,用户名:${requestScope.username }
密 码:${requestScope.userpwd }
struts会自动调用LoginAction中的属性的get方法,最终显示在页面上。
10、小结一下
struts2刚接触几天,只是明白了这个整个流程,虽然自己很明白这个流程,但是很难用言语来准确的描述,就像上边的流程图一样,画了半个小时,最终的结果也不清不楚的,自己看这都晕,以后还是得多补充一下辅助工具使用方面的知识才行了,要做程序员就必须得用工具来表达自己的思想,要不技术再厉害,也可能无处施展(声明一下,我的技术不厉害)。
- 大小: 2 KB
- 大小: 956 Bytes
- 大小: 11.8 KB
分享到:
相关推荐
这个入门学习源码包包含了关于Struts2的基础知识、学习笔记以及源码实例,旨在帮助初学者快速理解和掌握Struts2的核心概念和技术。 首先,让我们深入了解Struts2的基本原理。Struts2是Apache软件基金会的一个开源...
struts 初步认识Struts2并部署验证 struts2 将要进行自定义类型转换的点数据从1个增加到3个 struts3 进行全局的类型转换 struts4 使用Struts2中内部类中的方法进行自定义类型转换,用到的类StrutsTypeConverter ...
通过这个简单的入门案例,你可以学习到如何创建Action、编写配置文件、设计交互页面,并理解Struts2框架如何将所有这些组件协同工作。对于想要深入学习Struts2的人来说,这是一个很好的起点,可以帮助他们快速掌握...
- `Struts2学习入门.pdf`可能是一个全面的PDF教程,涵盖Struts2的各个方面,适合初学者系统学习。 - `webwork2开发指南.pdf`则是针对WebWork框架的指导手册,帮助理解WebWork的设计原理和用法。 通过以上文档,你...
通过这个入门级的例子,你不仅可以学习到基本的Struts2操作,还能了解到MVC架构的实现方式。当你对这些基础有了一定的了解后,可以进一步探索Struts2的高级特性,如国际化、上传下载、AJAX支持等。不断实践和深入...
在入门Struts2之前,需要准备以下开发环境和工具: - 开发工具:MyEclipse6(尽管它不直接支持Struts2,但可以使用其进行基础开发) - Web服务器:Tomcat6(用于部署和测试Web应用程序) - Struts版本:Struts*.*.**...
对于希望入门Java Web开发的学习者来说,掌握Struts2框架的使用是基础且关键的一步。通过阅读官方文档、学习示例程序、了解各配置文件的作用以及实际编写案例代码,能够帮助学习者快速进入Java Web开发的大门。
这个"struts2入门例子"旨在帮助初学者理解Struts2的基本架构和核心功能,通过实际操作来学习如何配置Struts2框架以及实现页面跳转。 在Struts2中,`struts.xml`是核心配置文件,它是整个应用的入口点,负责定义动作...
这个“Struts2 的入门简单的hello”项目是一个非常适合初学者了解和学习Struts2的基础知识的实例。 首先,让我们从创建一个基本的Struts2应用开始。在Java世界里,MVC模式是web开发的核心,它将业务逻辑、数据和...
为了更好地理解Struts2,你需要学习如何创建Action类、编写struts.xml配置文件、使用Interceptor、处理结果以及理解OGNL的使用。通过阅读提供的"15_学员用书_STRUTS2核心_IMAGE版.pdf",你可以逐步掌握这些概念和...
这个入门例子是专为初学者设计的,旨在帮助他们快速掌握Struts2框架的基础知识和在MyEclipse中的应用。 首先,我们需要了解Struts2的基本架构。Struts2的核心是Action类,它是业务逻辑处理的中心。每个Action对应一...
1. **官方文档**:Struts2的官方网站提供了详细的官方文档,包括快速入门指南、API文档和常见问题解答,是学习Struts2的第一手资料。 2. **在线教程**:互联网上有大量的Struts2教程,从基础到进阶,覆盖了Struts2的...
- **Action类详解**:Action类是Struts2的核心组件之一,负责处理用户的请求并返回相应的结果。了解如何编写Action类、设置其属性以及处理请求参数至关重要。 - **Result配置**:Result用于指定Action执行后的结果...
以下是对标题和描述中所提及的Struts2入门学习的关键知识点的详细解释: 1. **Action**: - 在Struts2中,Action是处理用户请求的核心组件,它实现了`com.opensymphony.xwork2.Action`接口或其子接口,负责业务...
在开始Struts2的学习之旅之前,我们需要理解一些基本概念: 1. **Action类**:在Struts2中,Action类是业务逻辑的主要载体,负责处理用户的请求。每个Action类对应一个特定的URL请求,处理完业务逻辑后,会返回一个...
Struts2是一个强大的Java web开发框架,用于构建和维护可扩展且易于管理的企业级应用程序。...通过分析和运行这个入门demo,初学者可以快速理解Struts2的基本工作流程,为深入学习和实际项目开发打下基础。
### Struts2入门实例教程详解 #### 一、环境搭建与基本配置 在开始学习Struts2框架之前,首先需要确保开发环境的正确搭建。根据提供的文档,所使用的开发工具为MyEclipse6,Web服务器为Tomcat6,Struts版本为...
struts2介绍之使用连接标签 struts2入门 struts2进阶学习一 struts2进阶学习二 struts2进阶学习三 struts2进阶学习四 struts2进阶学习一 struts2进阶学习一 struts2进阶学习一 struts2进阶学习一