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的服务器端

类似于 ----------------------jsp跳转到servlet

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 ·进行跳转

逻辑判断

·有一些简单的


本文标签: 开发 请求 跳转 保存 接受