黑马程序员技术交流社区
标题: struts2入门整理【石家庄校区】 [打印本页]
作者: Jack.李 时间: 2017-11-29 14:28
标题: struts2入门整理【石家庄校区】
struts2框架struts2快速入门 用户请求 --> web.xml--struts.xml(通过strutsprepareandexecute过滤器过滤)--> action类
· index.jsp——>HelloServlet——–>hello.jsp web开发流程.
index.jsp——>HelloAction———>hello.jsp struts2流程
struts2的目录结构:
o apps: 该文件夹包含了基于struts2 的示例应用,这些示例应用对于学习者是非常有用的;例子程序war后缀表示web压缩文件
o docs : 该文件夹下包含了struts2 相关文档,包括struts2 快速入门、struts2的文档以及API文档等
o lib : 该文件夹下包含了Struts2框架和核心类库,以及struts2第三方插件类库
§ 开发时没必要将lib目录下jar文件全部复制到项目中
o src : 该文件夹下包含了Struts2框架的全部源代码
§ core 它是struts2的源代码
§ xwork-core struts2底层使用了xwork,xwork的源代码
1.导入jar包
o 下载struts2的jar包 struts-2.3.15.1-all 版本.
· Struts运行必要jar包
o struts2-core-2.3.1.1.jar:Struts 2框架的核心类库
o xwork-core-2.3.1.1.jar:Command模式框架,WebWork和Struts2都基于xwork
o ognl-3.0.3.jar:对象图导航语言(Object Graph Navigation Language),struts2框架通过其读写对象的属性
o freemarker-2.3.18.jar:Struts 2的UI标签的模板使用FreeMarker编写
o commons-logging-1.1.x.jar:ASF出品的日志包,Struts 2框架使用这个日志,包来支持Log4J和JDK 1.4+的日志记录。
o commons-fileupload-1.2.2.jar: 文件上传组件,2.1.6版本后需要加入此文件
o commons-io-2.0.1.jar:传文件依赖的jar包
o commons-lang-2.5.jar:对java.lang包的增强
o 开发中为了方便导入,可以使用app/struts2-blank.war 携带jar包
注意:在struts2开发,一般情况下最少导入的jar包,去apps下的struts2-blank示例程序中copy。将war后缀改为rar后解压。
2.创建index.jsp,hello.jsp页面
o 在index.jsp (发起请求页面)
§ <a href="${pageContext.request.contextPath}/hello">第一次使用struts2</a>
o hello.jsp (结果页面)
§ <h1>你好,Struts2<h1>
o 结果页面显示 struts2框架访问成功
3.对struts2框架进行配置
o 1.web.xml文件中配置前端控制器(核心控制器)—–就是一个Filter
§ 目的:是为了让struts2框架可以运行。
§ 过滤器配置/* , 但是struts2 默认处理.action结尾请求,分发到相应Action类
<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>
* 2.创建一个struts.xml配置文件 ,这个是struts2框架配置文件。
* 目的:是为了struts2框架流程可以执行。
* 名称:struts.xml
* 位置:src下(classes下)
4.创建一个HelloAction类
要求,在HelloAction类中创建一个返回值是String类型的方法,注意,无参数。
public class HelloAction {
public String say(){
System.out.println("hello world");
return "good"; // 结果页面命名
}
}
struts2 的Action类似以前编写的Servlet程序,可以处理用户提交请求,但是Struts2的Action可以POJO对象
5.在struts.xml文件中配置HelloAction
<package name="default" namespace="/" extends="struts-default">
<action name="hello" class="cn.itcast.action.HelloAction"
method="say">
<result name="good">/hello.jsp</result>
</action>
</package>
6.在index.jsp中添加连接,测试
<a href="${pageContext.request.contextPath}/hello">第一次使用struts2</a>
HelloAction类中的say方法执行了,也跳转到了hello.jsp.
| 欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) |
黑马程序员IT技术论坛 X3.2 |