您的位置:首页 > 编程语言 > Java开发

(基础篇)struts是mvc的实现,mvc是什么?struts是如何实现的?

2011-10-25 10:33 387 查看


model是由actionform和javabena组成的

actionform用于封装客户端请求参数且自动封装到actionform中的

actionform是被actionservlet转发给action

javabean是封装了底层的业务逻辑,包括数据库的访问

ps:何谓javabean呢

struts标签提供了标签库,其中有<jsp:usebean>,<jsp:proptery>

demo:

javabean 的两种使用方式:(嵌入 java 代码方式和使用 jsp 标记符方式)【也就是当作普通的类来使用者在 jsp 中 页面处理时有特殊的标记符处理方式】

以下是使用 javabean 的每个功能的两者不同方式比较:(用了 javabean 只是方便一点,并且可以实现组件重用而已。)

a ) jsp 中使用 javabean 的类的两种方法:(这两行代码的作用是一样的)

法一: jsp 中使用 <jsp:useBean> 标记符访问 javabean :

<jsp:useBean id="test" class="test.TestBean" />

法二: jsp 中嵌入 java 代码方式访问 javabean :

首行导入 javabean :

<%@ page import="com.javaBean.TestBean" %>

下边就可以像在 java 语言中那样用了:

<% TestBean testBean=new TestBean(); %>

b)jsp 页面之间传递和获取数据的两种方法:

l 获取数据:

法一:使用属性标记符:

<jsp:getProperty name="test" property="message" />

法二:直接嵌入 java 代码:(更简单)

<%=testBean.getName()%>

l 存数据:

法一:使用属性标记符:

设置单个元素值:

<jsp:setProperty name="test" property="name" value="jcm" />

设置 jsp 页面中所有元素的值:

<jsp:setProperty name="test" property="*" />

注:这个方法特别方便,只需要在接收数据并负责显示的 jsp 页面使用 <jsp:useBean> 之后加上这一行代码,所有数据就自动赋值了。然后在接下来的 jsp 代码中就可以使用 get 方法显示出数据了。

法二:直接嵌入 java 代码:

<%

String name=req.getParameter(“name”);

testBean.setName(name)

String pwd=req.getParameter(“password”);

testBean.setName(pwd)

%>

注:

通常 javabean 函数中除了 get 和 set 方法外,还有一个把数据存入 DB 中的方法(也就是和 DB 连接并实现 insert 语句)。

view:客户端请求被actionservler拦截时,actionservlet会根据请求判断是否需要调用model处理请求,所以说不是所有的请求都要走model层的,处理结果通过jsp呈现

control:actionservlet是系统核心控制器,是struts提供的,继承于httpservlet类,负责拦截所有得客服端http请求,根据请求决定是否要调用业务逻辑层,如果需要就转发给指定action处理,否则,直接跳转到指定jsp页面

业务逻辑控制器(action)负责处理用户请求,但业务逻辑控制器本身不具备处理能力,而是调用哪个model来完成

我们在开发过程中,会将dao service独立开,这些统称为model层
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: