admin 管理员组文章数量: 1086019
2024年1月12日发(作者:linux赋权限命令chmod)
MVC模式:jsp+servlet+javabean
---- 网站开发模式(省去dao数据访问对象,便于理解)
------ 模式一:
jsp+JavaBean :适合快速开发,但是jsp于javabean之间紧密耦合,开发维护造成麻烦。eg:美工和开发人员分工不明确,彼此依赖增强。
·jsp :会做模式二中jsp+servlet的工作
·javabean:同下
模式二:
jsp+servlet+javabean:适合于团队开发,速度相对较慢,但可维护性高。
·jsp:开发前台界面方便,做ui开发容易
·servlet:是java程序,安全性高,性能也高;但是显示不方便,也可以像jsp一样接受用户的请求参数
·javabean:可重复调用,需要接受用户的请求参数,进行相应的处理
如果将模式一的jsp的接受用户参数的功能部分交给servlet去做,则jsp就不用直跟javabean交流。
即:jsp -> servlet -> javabean
问题?
·jsp跳转到servlet可以吗?---------- 表单提交或超链接
·servlet跳转到jsp可以吗?---------- response,request(当数据只希望保存1次,用request范围保存属性,则要求是服务器端跳转)
/****
联想到jsp中两种跳转语句的区别:
·direct():客户端跳转,请求不保存
·
jsp中属性保存的四种范围:
page request session application
****/
request怎么跳转呢?
RequestDispatcher 接口 ---------- 服务器跳转-------servlet跳转到jsp的服务器端
类似于
eg:
RequestDispatcher rd = null;
rd = uestDispatcher("url");
d(req,res);
或者:uestDispatcher("url").forward(req,res);
--------------------------mvc例子------------------------
----------- 案例描述:
htm: 表单
servlet: 接受姓名,调用javabean判断结果,显示成功/失败的页面
javabean:判断姓名是否为空
----------- 详细描述:
mvc_中大致内容如下:
封装Servlet
public class MVCServlet extends HttpServlet
{
public void doGet(.. req,...
{
(req,res);
}
public void doPost(.. req,...
{
String name = ameter("uname");
MVCCheck mc = new MVCCheck();
e(name); //请求对象设置到mc对象中去
String path = "";
if(date())
{
//保存名字在request范围中去
ribute("name",e());
path="mvc_";
}
else
{
path = "mvc_";
}
//进行跳转
uestDispatcher(path).forward(req,res);
}
}
//在中配置Servlet
public class MVCCheck --------- 一个简单的bean
{
private String name;
... setName(...);
... getName(...);
public boolean isValidate()
{
if( == null || "".equals())
{
return false;
}
else
{
return true;
}
}
}
mvc_页面
输入成功><%= ribute("name")%>
mvc_页面
输入失败
回去登陆
总结:
servlet中最好只有以下几种代码:
·接受参数 ·调用javabean ·进行跳转
逻辑判断
·有一些简单的
版权声明:本文标题:MVC模式:jsp+servlet+javabean 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.roclinux.cn/p/1705050139a471226.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论