struts2开发流程
2015-09-07 08:54
411 查看
struts2是基于经典的MVC模式开发的框架,其由servlet充当Controller,由JSP充当View,由javaBean充当Model。
javaBean是一种JAVA语言写成的可重用组件,特点:1.类必须是公共的和具体的,并具有无参数的构造器。2.属性变量是private类型,即属性变量不直接暴露出来,但必须提供public的getter()和setter()方法,供外部调用这些属性变量。
用户可以使用JavaBean将功能、处理、值、数据库访问和其他任何可以用java代码创造的对象进行打包。本质上来说,javaBean也是普通的java对象,只不过它遵循了一些约定而已,是一种可被其他java对象、servlet或javaBean重用的组件。
Struts2框架中经常使用的action类(继承了ActionSupport类或是实现了Action接口)和Struts2框架核心的拦截器等一同组成了Controller。
Struts2应用的开发步骤:
1.在web.xml文件中定义核心Filter来拦截用户请求。
Web应用是基于请求/响应架构的应用,需要在web.xml中配置该框架核心的Servlet或Filter才能让该框架介入Web应用中。
<!--定义Struts2的核心Filter-->
<filter>
<filter-name>struts2</filter-name>
<filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>
</filter>
<!--让struts2的核心Filter拦截所有请求-->
<filter-mapping>
<filter-name>struts2</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
如果需要配置网站首页,则采用下面的配置信息:
<!--配置Web应用的首页列表-->
<welcome-file-list>
<welcome-file>index.html</welcome-file>
<welcome-file>index.htm</welcome-file>
<welcome-file>index.jsp</welcome-file>
</welcome-file-list>
上述配置信息配置了网站首页依次为index.html、index.htm、index.jsp,也就是说,如果没有index.html页面,则会访问index.htm页面;如果没有index.html、index.htm页面,则会访问index.jsp页面。
2.定义处理用户请求的Action类,并配置处理结果与视图资源之间的对应关系。
在struts2框架中,Controller实际上由两个部分共同组成,即拦截所有用户请求,处理请求的通用代码都由核心拦截器完成(这个是Struts2框架已经提供的,不需要开发者实现),而实际的业务控制则由Action处理(这个需要开发者实现)。
Action实现:
方法1:实现Action接口
具有private类型的属性,并有getter与setter方法,以便属性可以被外部访问。实现Action接口的action类在struts.xml文件中不需要配置method参数,默认调用action类中的execute()方法来执行。
public class LoginAction implements Action{
private String user;
public void setUser(String user){
this.user=user;
}
public void getUser(){
return this.user;
}
public String
execute(){
....
return ”resultStr“;
}
}
在struts.xml中的配置信息如下:
<package name=“lee" extends=”struts-default“>
<action name="login" class="包名.LoginAction">
<result name="resultStr">/WEB-INF/content/resultStr.jsp</result>
</action>
</package>
当LoginAction的execute方法返回resultStr时,显示层页面将展示/WEB-INF/content/resultStr.jsp页面。
方法2:继承ActionSupport类
具有private类型的属性,并有getter与setter方法,以便属性可以被外部访问。继承ActionSupport类的Action类可以使用任何方法执行请求,但必须在struts.xml文件中给出method参数的配置信息。
public class LoginAction extends ActionSupport{
private String user;
public void setUser(String user){
this.user=user;
}
public void getUser(){
return this.user;
}
public String
loginMethod(){
....
return ”resultStr“;
}
}
在struts.xml中的配置信息如下:
<package name=“lee" extends=”struts-default“>
<action name="login" class="包名.LoginAction"
method='loginMethod'>
<result name="resultStr">/WEB-INF/content/resultStr.jsp</result>
</action>
</package>
3.编写视图资源(jsp页面或html页面)
javaBean是一种JAVA语言写成的可重用组件,特点:1.类必须是公共的和具体的,并具有无参数的构造器。2.属性变量是private类型,即属性变量不直接暴露出来,但必须提供public的getter()和setter()方法,供外部调用这些属性变量。
用户可以使用JavaBean将功能、处理、值、数据库访问和其他任何可以用java代码创造的对象进行打包。本质上来说,javaBean也是普通的java对象,只不过它遵循了一些约定而已,是一种可被其他java对象、servlet或javaBean重用的组件。
Struts2框架中经常使用的action类(继承了ActionSupport类或是实现了Action接口)和Struts2框架核心的拦截器等一同组成了Controller。
Struts2应用的开发步骤:
1.在web.xml文件中定义核心Filter来拦截用户请求。
Web应用是基于请求/响应架构的应用,需要在web.xml中配置该框架核心的Servlet或Filter才能让该框架介入Web应用中。
<!--定义Struts2的核心Filter-->
<filter>
<filter-name>struts2</filter-name>
<filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>
</filter>
<!--让struts2的核心Filter拦截所有请求-->
<filter-mapping>
<filter-name>struts2</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
如果需要配置网站首页,则采用下面的配置信息:
<!--配置Web应用的首页列表-->
<welcome-file-list>
<welcome-file>index.html</welcome-file>
<welcome-file>index.htm</welcome-file>
<welcome-file>index.jsp</welcome-file>
</welcome-file-list>
上述配置信息配置了网站首页依次为index.html、index.htm、index.jsp,也就是说,如果没有index.html页面,则会访问index.htm页面;如果没有index.html、index.htm页面,则会访问index.jsp页面。
2.定义处理用户请求的Action类,并配置处理结果与视图资源之间的对应关系。
在struts2框架中,Controller实际上由两个部分共同组成,即拦截所有用户请求,处理请求的通用代码都由核心拦截器完成(这个是Struts2框架已经提供的,不需要开发者实现),而实际的业务控制则由Action处理(这个需要开发者实现)。
Action实现:
方法1:实现Action接口
具有private类型的属性,并有getter与setter方法,以便属性可以被外部访问。实现Action接口的action类在struts.xml文件中不需要配置method参数,默认调用action类中的execute()方法来执行。
public class LoginAction implements Action{
private String user;
public void setUser(String user){
this.user=user;
}
public void getUser(){
return this.user;
}
public String
execute(){
....
return ”resultStr“;
}
}
在struts.xml中的配置信息如下:
<package name=“lee" extends=”struts-default“>
<action name="login" class="包名.LoginAction">
<result name="resultStr">/WEB-INF/content/resultStr.jsp</result>
</action>
</package>
当LoginAction的execute方法返回resultStr时,显示层页面将展示/WEB-INF/content/resultStr.jsp页面。
方法2:继承ActionSupport类
具有private类型的属性,并有getter与setter方法,以便属性可以被外部访问。继承ActionSupport类的Action类可以使用任何方法执行请求,但必须在struts.xml文件中给出method参数的配置信息。
public class LoginAction extends ActionSupport{
private String user;
public void setUser(String user){
this.user=user;
}
public void getUser(){
return this.user;
}
public String
loginMethod(){
....
return ”resultStr“;
}
}
在struts.xml中的配置信息如下:
<package name=“lee" extends=”struts-default“>
<action name="login" class="包名.LoginAction"
method='loginMethod'>
<result name="resultStr">/WEB-INF/content/resultStr.jsp</result>
</action>
</package>
3.编写视图资源(jsp页面或html页面)
相关文章推荐
- struts2 jquery 打造无限层次的树
- ajax交互Struts2的action(客户端/服务器端)
- struts2 spring整合fieldError问题
- Struts2的s:radio标签使用及用jquery添加change事件
- struts2 中文乱码的解决办法分享
- Struts2访问servlet分享
- struts2单个文件上传的两种实现方式
- struts2+jquery实现ajax登陆实例详解
- struts2中一个表单中提交多个请求的例子(多个提交按钮)
- Java(基于Struts2) 分页实现代码
- 从搭建Struts2 开发环境说起
- JAVA+Struts2获取服务器地址的方法
- 使用maven+eclipse搭建struts2开发环境
- 关于国际化、OGNL表达式语言
- 在Struts2中如何将父类属性序列化为JSON格式的解决方法
- 在Struts2中的结果集类型
- 关于Struts2的类型转换详解
- 搭建EXTJS和STRUTS2框架(ext和struts2简单实例)
- 关于Struts2文件上传与自定义拦截器
- JavaWeb中struts2实现文件上传下载功能实例解析