`
沈冠军
  • 浏览: 111219 次
  • 性别: Icon_minigender_1
  • 来自: 玉林
社区版块
存档分类
最新评论

struts2学习之入门

阅读更多



       前段时间学过一下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
分享到:
评论
2 楼 沈冠军 2011-05-01  
freewxy 写道

1 楼 freewxy 2011-04-29  

相关推荐

    struts2入门学习源码

    这个入门学习源码包包含了关于Struts2的基础知识、学习笔记以及源码实例,旨在帮助初学者快速理解和掌握Struts2的核心概念和技术。 首先,让我们深入了解Struts2的基本原理。Struts2是Apache软件基金会的一个开源...

    struts2(1-7)源码 struts2学习入门 源码学习

    struts 初步认识Struts2并部署验证 struts2 将要进行自定义类型转换的点数据从1个增加到3个 struts3 进行全局的类型转换 struts4 使用Struts2中内部类中的方法进行自定义类型转换,用到的类StrutsTypeConverter ...

    struts2入门demo

    通过这个简单的入门案例,你可以学习到如何创建Action、编写配置文件、设计交互页面,并理解Struts2框架如何将所有这些组件协同工作。对于想要深入学习Struts2的人来说,这是一个很好的起点,可以帮助他们快速掌握...

    struts2开发入门以及webWork开发入门文档

    - `Struts2学习入门.pdf`可能是一个全面的PDF教程,涵盖Struts2的各个方面,适合初学者系统学习。 - `webwork2开发指南.pdf`则是针对WebWork框架的指导手册,帮助理解WebWork的设计原理和用法。 通过以上文档,你...

    struts2入门级的例子

    通过这个入门级的例子,你不仅可以学习到基本的Struts2操作,还能了解到MVC架构的实现方式。当你对这些基础有了一定的了解后,可以进一步探索Struts2的高级特性,如国际化、上传下载、AJAX支持等。不断实践和深入...

    struts2简单入门教程

    在入门Struts2之前,需要准备以下开发环境和工具: - 开发工具:MyEclipse6(尽管它不直接支持Struts2,但可以使用其进行基础开发) - Web服务器:Tomcat6(用于部署和测试Web应用程序) - Struts版本:Struts*.*.**...

    Struts2简介与入门

    对于希望入门Java Web开发的学习者来说,掌握Struts2框架的使用是基础且关键的一步。通过阅读官方文档、学习示例程序、了解各配置文件的作用以及实际编写案例代码,能够帮助学习者快速进入Java Web开发的大门。

    struts2入门例子

    这个"struts2入门例子"旨在帮助初学者理解Struts2的基本架构和核心功能,通过实际操作来学习如何配置Struts2框架以及实现页面跳转。 在Struts2中,`struts.xml`是核心配置文件,它是整个应用的入口点,负责定义动作...

    Struts2 的入门简单的hello

    这个“Struts2 的入门简单的hello”项目是一个非常适合初学者了解和学习Struts2的基础知识的实例。 首先,让我们从创建一个基本的Struts2应用开始。在Java世界里,MVC模式是web开发的核心,它将业务逻辑、数据和...

    struts2框架入门

    为了更好地理解Struts2,你需要学习如何创建Action类、编写struts.xml配置文件、使用Interceptor、处理结果以及理解OGNL的使用。通过阅读提供的"15_学员用书_STRUTS2核心_IMAGE版.pdf",你可以逐步掌握这些概念和...

    struts2+myeclipse 入门例子

    这个入门例子是专为初学者设计的,旨在帮助他们快速掌握Struts2框架的基础知识和在MyEclipse中的应用。 首先,我们需要了解Struts2的基本架构。Struts2的核心是Action类,它是业务逻辑处理的中心。每个Action对应一...

    struts2中文学习文档

    1. **官方文档**:Struts2的官方网站提供了详细的官方文档,包括快速入门指南、API文档和常见问题解答,是学习Struts2的第一手资料。 2. **在线教程**:互联网上有大量的Struts2教程,从基础到进阶,覆盖了Struts2的...

    Struts2视频教程

    - **Action类详解**:Action类是Struts2的核心组件之一,负责处理用户的请求并返回相应的结果。了解如何编写Action类、设置其属性以及处理请求参数至关重要。 - **Result配置**:Result用于指定Action执行后的结果...

    struts2入门的学习资料.pdf

    以下是对标题和描述中所提及的Struts2入门学习的关键知识点的详细解释: 1. **Action**: - 在Struts2中,Action是处理用户请求的核心组件,它实现了`com.opensymphony.xwork2.Action`接口或其子接口,负责业务...

    Struts2入门案例 实现简单的Struts2入门jar包.rar

    在开始Struts2的学习之旅之前,我们需要理解一些基本概念: 1. **Action类**:在Struts2中,Action类是业务逻辑的主要载体,负责处理用户的请求。每个Action类对应一个特定的URL请求,处理完业务逻辑后,会返回一个...

    Struts2入门demo

    Struts2是一个强大的Java web开发框架,用于构建和维护可扩展且易于管理的企业级应用程序。...通过分析和运行这个入门demo,初学者可以快速理解Struts2的基本工作流程,为深入学习和实际项目开发打下基础。

    struts2入门实例教程详解

    ### Struts2入门实例教程详解 #### 一、环境搭建与基本配置 在开始学习Struts2框架之前,首先需要确保开发环境的正确搭建。根据提供的文档,所使用的开发工具为MyEclipse6,Web服务器为Tomcat6,Struts版本为...

    struts2帮助文档

    struts2介绍之使用连接标签 struts2入门 struts2进阶学习一 struts2进阶学习二 struts2进阶学习三 struts2进阶学习四 struts2进阶学习一 struts2进阶学习一 struts2进阶学习一 struts2进阶学习一

Global site tag (gtag.js) - Google Analytics