struts2学习笔记

来源:互联网 发布:网络联合电视台 编辑:程序博客网 时间:2024/05/18 00:27

Struts2是采用MVC设计模式的一个开源框架.是Struts和Web Work的合成版本.Struts2采用了Web Work的核心。


Struts2的安装,此步比较简单,将环境中所用jar包导入到项目中即可(或直接将jar包复制到项目中的WebRoot/WEB-INF/lib目录下)。所需jar包在你下载的包中的lib目录下可以找到.

早期版本的struts2只需要导入5个包即可,但现在的版本不只是导入原先的5个包就能搞定的。

struts-2.3.4-all 此版本搭建环境时所需jar包如下

     commons-fileupload-1.2.2.jar

     commons-io-2.0.1.jar

     commons-lang-2.4.jar

     commons-lang3-3.1.jar

     commons-longging-1.1.1.jar

     commons-logging-api-1.1.jar

     freemarker-2.3.19.jar

     javassist-3.11.0.GA.jar

     ognl-3.0.5.jar

     struts2-core-2.3.4.jar

     xwork-core-2.3.4.jar

如此便算安装完毕

现在搭建一个简单的项目,理解一下Struts2的运行流程(此环境为模拟一个简单的登陆,然后返回用户名和密码的操作)

1.在 MyEclipse 中新建一个Web项目名为struts2

2.在项目中导入所需jar包(导入的jar包就是上面的那些)

3.修改web.xml文件(如下图所示)

      添加过滤器filter,图中<url-pattern>/*<url-pattern>表示为过滤所有(先不要管太多,把这个环境搭

      建完让他跑起来再说)

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

马晓java自学笔记_Struts2_1
--------------------------------------------------------------------------------------------


4.编写jsp页面

     login.jsp(登陆页面)

   图中的form提交地址 login.action 稍后会写到。(Struts2中用Action来处理数据请求)

 

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

马晓java自学笔记_Struts2_1
---------------------------------------------------------------------------

 

     result.jsp(结果显示页面)

 

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

马晓java自学笔记_Struts2_1
-------------------------------------------------------------------


5.编写Action类(基本的逻辑处理单元,用来处理请求)

   在src下新建包com.test.action  在此包中创建LoginAction.java类

   LoginAction.java中的内容如图所示

 

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

马晓java自学笔记_Struts2_1

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


在上述代码中定义了username和password变量,并设置getter和setter方法,然后在execute()方法中返回"success"


6.编写struts.xml文件

   此文件直接在src下创建,会自动添加到项目中的WebRoot/WEB-INF/classes中

   文件中内容如下图所示

 

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

   马晓java自学笔记_Struts2_1
-------------------------------------------------------------------------------------


其中<action>标签中的name属性<action name="login">则跟login.jsp中的<form action="login.action">一致

<action>标签中的class属性<action class="com.test.action.LoginAction">指的是我们创建的java类LoginAction.java

<result>标签指向的是result.jsp页面

到此为止整个项目完成,大致结构如下图所示

 

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

马晓java自学笔记_Struts2_1
--------------------------------------------------------------------------


通过Tomcat服务器发布后访问login.jsp页面,输入用户名和密码

 

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

马晓java自学笔记_Struts2_1

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

 


点击登录按钮,显示result.jsp中的内容,接收到用户输入的用户名和密码

 

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

马晓java自学笔记_Struts2_1

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


 

下面简单说下此项目的运行流程

1.用户打开登录网页,输入用户名和密码,点击登录,提交地址为login.action

2.调用web.xml中的过滤器filter,发现<filter-mapping>中的<url-mapping>/*<url-mapping>过滤所有

3.进入struts.xml文件中的<action name="login" class="com.test.action.LoginAction">,因为此处<action>标签的name属性和login.jsp中的提交地址login.action一致.    

4. 然后根据<action>标签中的class="com.test.action.LoginAction"进入com.test.action.LoginAction类中调用setUsername和setPassword方法给username和password属性赋值,然后调用execute()方法,返回success。

5.又进入struts.xml文件中执行<result name="success">/result.jsp</result>

6.进入result.jsp页面,执行本页面.


原创粉丝点击