您的位置:首页 > 编程语言 > Java开发

Java三大框架入门-struts2入门(一)

2016-04-27 13:59 567 查看
struts2框架入门

1.什么是struts2?
2.struts2的组成?
3.struts2的部署与配置

1.什么是struts2?

在这之前 我们都知道servlet servlet可以说是javaweb开发的基础之一 它是用来实现 过滤 监听 数据处理 等等的一个特殊java类 那么servlet 的延伸就延伸出了struts2 的概念。由于我们通常需要通过servlet去实现不同的功能,功能越复杂,那么servlet的编写就越多,且代码量冗余大,灵活性也比较低。因此,我们就用了struts2这个框架去实现servlet action 等动作的功能,这样,代码量少,且灵活。struts2 可以看做多个servlet的集合,当我们浏览器发出请求时,struts2便拦截下来,然后通过struts.xml的配置文件去查找要请求的servlet,执行请求的servlet的action动作,并且利用actionform去存储数据,以及跳转页面等等。这就是struts2的基本功能也是核心功能。

2.struts2的组成

struts2的实现离不开很多jar的包的共同作用 由于包很多 我们现在只谈一个简单的核心包 核心jar 

commons-fileupload-x.x.x.jar 这个包主要用于上传文件的 

commons-io-x.x.x.jar 这个包主要是用于IO处理的

commons-lang3-x.x.x.jar 这个包用于java.lang包提供拓展

freemarker-x.x.x.jar 这个包提供了一个模板引擎 一个基于模板生成文本输出的通用工具

javaassist-x.x.x.jar 这包用于java字节码分析编辑和创建的类库

ognl-x.x.x.jar 这个是用于支持ognl表达式的包

struts2-core-x.x.x.jar 这是struts2的核心包

xwork-core-x.x.x.jar 这个是xwork的核心包

3struts2的配置和部署

struts2 需要配置两个配置文件 一个web.xml 一个struts.xml PS注意 web.xml 和 struts.xml 这两个配置文件的存放是有规则的 不能乱放 否则报错 

web.xml 需要放在Projectname/WebContent/WEB-INF 目录下  struts.xml 需要放在Projectname/src 目录下 

那么 现在我们来说说 如何填写配置文件 

我们需要在web.xml文件中添加以下代码

<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>

需要在struts.xml配置文件中添加示例代码

<?xml version="1.0" encoding="UTF-8" ?>

<!DOCTYPE struts PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 2.3//EN"
"http://struts.apache.org/dtds/struts-2.3.dtd">

<struts>

    <constant name="struts.enable.DynamicMethodInvocation" value="false" />

    <constant name="struts.devMode" value="true" />

    <package name="default" namespace="/" extends="struts-default">

        <action name="loginaction" class="strutsdemo.LoginAction">

            <result name="success">/index.jsp</result>

            <result name="error">/error.jsp</result>       

        </action>

    </package>

</struts>

以上都是示例 需要根据实际情况进行更改  比如action 标签的内容 result的标签的内容 等等 

4.struts2的action 实现 

action需要去实现actionsupport的类 当然你也可以不用继承actionsupport类 但是必须要实现execute()方法

如果需要继承actionsupport类的话 需要import com.opensymphony.xwork2.ActionSupport 然后再实现execute()方法 总之 必须有个execute() 

action也可以实现javabean的功能 就是需要有getxxx setxxx的方法

5.struts2的示例图

类的结构图



请注意struts2的jar包的存放位置 以及web.xml 和struts.xml配置文件的文件位置

5.利用struts2实现了一个简单的登录demo示例 代码下载链接为
http://pan.baidu.com/s/1jHBpWvc
 可以供你们参考 谢谢  projectname 为strutsdemo 如果不能运行或者报错 请一定反馈错误给我 谢谢

新手入门 码字不易 请多多关照
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息