0.mvc:model view controller
模型 视图 控制器
项目架构中,把项目代码加以模块化管理划分:
model: 模型 业务模型+数据模型 组织业务,及业务内部的数据处理 Service+DAO+Entity(javabean)
view: 视图 展示数据 JSP
controller:控制器 调度mvc流程,调度model及view Servlet
javaweb阶段采用mvc解决方案:(Service+DAO)+Servlet+JSP
优点:责任单一,各司其职
开发过程中有利于多人协作开发,也有利于项目后期的维护升级
======================================================================================
1.struts2 mvc框架
框架:软件开发过程中的半成品,封装通用功能,提高开发效率
apache开源组织 开源框架
职责:作用在mvc流程中,充当Controller的角色,调度整个MVC流程
:提供了更好的控制器Action,替代Servlet
======================================================================================
2.struts2开发流程:
2.1 导入依赖的jar包:
核心jar:struts2-core.jar xwork-core.jar
第三方依赖jar:其余
2.2 设置struts2的前端控制器:在web.xml中配置
作用:过滤所有请求,使请求进入struts2的处理流程
本质:Filter
org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter
2.3 定义Action类(后端控制器):
UserAction extends ActionSupport{
public String execute(){
System.out.println("UserAction~~~~");
return null;
}
}
2.4 在struts.xml中配置Action
\struts-2.3.16\apps\struts2-blank\WEB-INF\classes\struts.xml
*注意:struts.xml必须放置在src下
<package name="c3535" extends="struts-default">
<action name="c35" class="com.c35.action.UserAction"></action>
</package>
2.5 访问:
http://localhost:8989/struts2_day1/c35 =====================================================================================
3.Action中选择视图
*webRoot/view35/abc.jsp
3.1
extends ActionSupport{
public String execute(){
System.out.println("UserAction~~~~");
return "c36";//随意的字符串返回
}
}
3.2
<package name="c3535" extends="struts-default">
<action name="c35" class="com.c35.action.UserAction">
<result name="c36">/view35/abc.jsp</result>
</action>
</package>
=====================================================================================
4.Action接收请求参数:只需要在Action类中定义和请求参数同名的成员变量即可(set/get);
<form>
<input type="text" name="username"/>
<input type="text" name="password"/>
<input type="submit" value="xx"/>
</form>
param:{username:xxx,password:xxxx}
class UserAction extends ActionSupport{
//接收请求参数
private String username;
private String password;
set/get;
public String execute(){
//直接使用
System.out.println(this.username);
}
}
*struts2不仅可以通过同名的成员变量接收请求参数,且简单的类型转可以自动完成,如:
字符串-->数字
*struts2也可以进行 字符串-->java.util.Date
struts2可以识别的日期字符串格式:yyyy-MM-dd
yyyy-MM-ddTHH:mm:ss
=====================================================================================
5.数据处理:service业务结果数据的处理
Model Controller JSP
data data data
作用域
data
1.Action 获得Service的业务结果
2.Action将业务结果存储到作用域中 ====
3.JSP通过EL从作用域中获取数据
4.JSP通过<c:forEach <c:if ${} 展示数据
<c:forEach items="${requestScope.xx}">
<tr>
<td>EL</td>
</tr>
</c:forEach>
*struts2 工具类:
//当前的请求对象
HttpServletRequest req=ServletActionContext.getRequest();
//当前Session对象
HttpSession session=req.getSession();
//获取当前的response对象
HttpServletResponse res=ServletActionContext.getResponse();
=====================================================================================
[Java web]-- struts2(1)
原创
©著作权归作者所有:来自51CTO博客作者high2011的原创作品,请联系作者获取转载授权,否则将追究法律责任
提问和评论都可以,用心的回复会被更多人看到
评论
发布评论
相关文章
-
[Java web]-- struts2(4)
1.Action:生命周期 请求到来时创建,请求结束后销毁 :每个请求
struts2.0 作用域 值栈 数据 -
Struts2 HelloWorld (1)
1.Struts2的工作原理图 2.Struts2简单例子struts2中压缩中文件中有简单的示例程序struts
java web.xml struts xml文件 html -
Struts2 访问web元素
访问web元素
struts2.0 struts java apache -
linux 中zabbix客户端重启
1、用户登录 在Linux操作系统中有两类用户,系统用户和普通用户,其中系统用户包含管理员(root)。 (1)root 用户 一个特殊的管理帐户,也被称为超级用户;root已接近完整的系统控制,对系统损害几乎有无限的能力; &nb
linux 中zabbix客户端重启 shell 操作系统 运维 bash