01-struts2介绍与入门程序

1.struts2介绍

  • 什么是框架,框架有什么用?

框架 是 实现部分功能的代码 (半成品),使用框架简化企业级软件开发 ,提升开发效率。学习框架 ,清楚的知道框架能作什么? 还有哪些工做须要本身编码实现 ?前端

  • 什么是struts2框架,它有什么用?

Struts 2是Struts的下一代产品,是在 struts 1和WebWork的技术基础上进行了合并的全新的Struts 2框架。
其全新的Struts 2的体系结构与Struts 1的体系结构差异巨大。Struts 2以WebWork为核心
struts2=struts1+webwork;
struts2框架是apache产品。
struts2是一个标准的mvc框架。 javaweb中的model2模式就是一个mvc模式。 model2=servlet+jsp+javaBean
struts2框架是在javaweb开发中使用的。
使用struts2框架,能够简化咱们的web开发,而且下降程序的耦合度。
XWork---它是webwork核心
Xwork提供了不少核心功能:前端拦截机(interceptor),运行时表单属性验证,类型转换,
强大的表达式语言(OGNL – the Object Graph Navigation Language),
IoC(Inversion of Control反转控制)容器等java

2.struts2快速入门

  1.快速入门步骤

1.导入jar包

下载struts2的jar包 struts-2.3.15.1-all 版本.

struts2的目录结构:
apps: 例子程序
docs:文档
lib:struts2框架所应用的jar以及插件包
src:源代码 
core 它是struts2的源代码
xwork-core struts2底层使用了xwork,xwork的源代码

注意:在struts2开发,通常状况下最少导入的jar包,去apps下的struts2-blank(将struts2-blank.war改成struts2-blank.rar解压)示例程序中copyweb

 

2.对struts2框架进行配置

        • web.xml文件中配置前端控制器(核心控制器)-----就是一个Filter。目的:是为了让struts2框架能够运行。

              

           <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配置文件 ,这个是struts2框架配置文件。

                

目的:是为了struts2框架流程能够执行。

名称:struts.xml
位置:src下(classes下)apache

3.建立一个HelloAction类

          

要求,在HelloAction类中建立一个返回值是String类型的方法,注意,无参数。
public String say(){
return "good";
浏览器

4.在struts.xml文件中配置HelloAction

            

1 <package name="default" namespace="/" extends="struts-default">
2                 <action name="hello" class="cn.itcast.action.HelloAction"
3                     method="say">
4                     <result name="good">/hello.jsp</result>
5                 </action>
6             </package>

 

5.建立index.jsp页面,hello.jsp页面。

 

6.在index.jsp中添加链接,测试

        

<a href="${pageContext.request.contextPath}/hello">第一次使用struts2</a>
在地址栏中输入:http://localhost/struts2_day01/index.jsp 访问链接,就能够看到
HelloAction类中的say方法执行了,也跳转到了hello.jsp.缓存

  2.快速入门程序流程分析

3.struts2流程分析与工具配置

    

1.流程分析


请求 ---- StrutsPrepareAndExecuteFilter 核心控制器 ----- Interceptors 拦截器(实现代码功能 ) ----- Action 的execute --- 结果页面 Result
* 拦截器 在 struts-default.xml定义
* 执行拦截器 是 defaultStack 中引用拦截器 mvc

---- 经过源代码级别断点调试,证实拦截器是执行 app


2.关于手动配置struts.xml文件中提示操做



若是安装Aptana编辑器 ,请不要用Aptana自带xml编辑器 编写struts2配置文件
struts.xml提示来自于 DTD约束,
<!DOCTYPE struts PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 2.3//EN"
"http://struts.apache.org/dtds/struts-2.3.dtd">
若是能够上网,自动缓存dtd,提供提示功能
若是不能上网,也能够配置本地DTD提示 框架

*** 导入DTD时,应该和配置DTD版本一致 jsp


3.关联struts2源文件


若是是com.opensymphony.xxx 在xwork-core下
若是是org.apache.struts2 在core下

 


4.使用插件 struts2-config-browser-plugin-2.3.15.1

 


提供在浏览器中查看 struts2 配置加载状况

将解压struts2/lib/struts2-config-browser-plugin-2.3.7.jar 复制WEB-INF/lib下

访问 http://localhost/struts2_day01/config-browser/index.action 查看 struts2配置加载状况

相关文章
相关标签/搜索