struts2

 

Struts2

一、Struts2概述

1 javaee三层结构:

Web层:struts2 用来从前台获取数据,经处理后再传送到前台

Service层:spring  用来配置各层的类、方法、属性之间的关系

Dao层:hibernate  用来处理从数据层获取数据,或向数据层写入数据

2 struts2应用在web层框架

3 struts2在struts1和webwork框架基础之上发展的全新的框架

4 struts2框架应用场景

(1)类似于baseservlet,比baseservlet更加强大

 (2)从前台获取数据,或向前台传送数据

二、基本操作

(一)操作概述

1. 引入jar包

(1)基本jar包:

(2)创建action

 

(3)配置action访问控制

1)创建struts2核心配置文件

- 位置:在src下面

- 名称:struts.xml

2)引入约束 dtd约束

3)进行action配置

 

Namespace+action.name组成访问该action的相对路径。

(4)配置struts2过滤器

1)在web.xml中配置

 

最终:在浏览器地址栏输入地址,访问action

访问路径:http://服务器IP地址 +/ 项目名称 +/ namespace值  +/ action的name 

http://127.0.0.1/Struts2_day01/user.action

后缀名.action,这个后缀名可以不写,建议写出来

(二)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.i18n.encoding" value="utf-8" />
<constant name="struts.multipart.maxSize" value="209715200"></constant>

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

<global-results>
<result name="error">/sys/error.jsp</result>
</global-results>
<action name="sys" class="nodesAction" method="getMainMenu">
<result name="menu">/main.jsp</result>
</action>
</package>

<!-- 菜单、节点处理 -->
<package name="node" namespace="/nodes" extends="struts-default">
<action name="nodes_*" class="nodesAction" method="{1}">
<result name="manager">/article/manager_nodes.jsp</result>
<result name="menu">/main.jsp</result>
<allowed-methods>regex:.*</allowed-methods>
</action>
</package>

<!-- 文章类相关 -->
<package name="article" namespace="/article" extends="struts-default">
<action name="article_*" class="articlesAction" method="{1}">
<result name="list">/article/listArticle.jsp</result>
<result name="add">/article/edit.jsp</result>
<result name="context">/article/articleEdit.jsp</result>
<result name="view">/article/viewArticle.jsp</result>
<result name="diary">/article/mydiary.jsp</result>
<allowed-methods>regex:.*</allowed-methods>
</action>
</package>

<package name="futures" namespace="/futures" extends="default">
<action name="futures_*" class="futuresAction" method="{1}">
<result name="variety">/futures/futures.jsp</result>
<result name="data">/futures/futuresdata.jsp</result>
<result name="addMinData">/futures/futuresaddmin.jsp</result>
<result name="quota">/futures/quota.jsp</result>
<allowed-methods>regex:.*</allowed-methods>
</action>
</package>

<package name="imgupload" namespace="/imgupload" extends="struts-default">
<action name="img_upload" class="com.itmicro.action.imgupload.imageUpload" method="imageUpload"></action>
</package>

<package name="stock" namespace="/stock" extends="default">
<action name="stock_*" class="stockAction" method="{1}">
<result name="varity">/stock/codes.jsp</result>
<result name="data">/stock/codes.jsp</result>
<allowed-methods>regex:.*</allowed-methods>
</action>
</package>
</struts>

1. 标签package

1 )配置action时候,首先必须写package标签 

2 )package标签里面有name属性,表示名称,理论上可以随便写 

3 )package里面有extends属性,属性值固定的struts-default

写了这个值之后,package里面配置的类,具有action功能 

4 )package里面有namespace属性

namespace的值和action标签的name属性值构成访问路径

5 )在一个配置文件中可以有多个package标签

package中,同一namespace下的action的name属性值不能相同

2. 

 

posted on 2019-01-15 09:28  祁连牧师  阅读(145)  评论(0)    收藏  举报