MVC

作者: 蜗牛滴追逐 | 来源:发表于2018-09-25 14:46 被阅读0次

MVC
通过控制器(C),让不同的视图(V),显示不同的数据(M)
一.Hello MVC
1.仅仅使用Servlet的短处
Servlet不仅要准备数据,还要准备html,尤其准备html,可读性非常差,维护起来也很麻烦。
2.仅仅使用JSP的短处
因为在Servlet中编写html有这样的短板,所以索性直接在JSP中开发编辑java代码,这时会发现,虽然编写html方便了,但是写java代码不如在Servlet中那么方便
3.结合Servlet和JSP

HeroEditServlet:只用来从数据库中查询Hero对象,然后跳转到JSP页面
editHero.jsp:不做查询数据库的事情,直接获取从HeroEditServlet传过来的Hero对象,通过EL表达
式把request中的hero显示出来

4.MVC设计模式
结合Serlvet和JSP进行数据的显示,就是一种MVC的思想。
M代表模型(Model) , 模型就是数据,就是dao,bean
V代表视图(View), 视图用来展示模型中的数据,就是网页,JSP
C代表控制器(controller) 控制器就是把不同的数据(Model),显示在不同的视图(View)上,
在这个例子中,Servlet就是充当控制器的角色,把Hero对象,显示在JSP上

二.查询
1.实体类Hero
2.HeroDAO
用于从数据库查询数据
3.HeroListServlet
通过dao获取所有的heros对象,然后放在request中,跳转到listHero.jsp
4.web.xml
5.listHero.jsp
作为视图的listHero.jsp,其作用就是把控制器传过来的数据显示出来

三.分页
1.首先准备 DAO
2.只显示5条数据
3.下一页
4.上一页
5.第一页
6.最后一页
7.边界处理
8.套上Bootstrap

四.用户是否登录
比如网站提供Hero查询服务,但前提是用户登录过才能使用,如果用户登录过了,访问listHero,就让用户正常访问,否则就跳转到登录界面。
这是非常常见的场景,通过使用session来实现这个功能。在处理登录的loginServlet中使用将用户名保存在session中。在HeroListServlet中查看session中是否为空。如果为空,就表示用户没有登录过,就跳转到登录页面。
1.在LoginServlet 把验证成功的用户加入到 Session
如果用户输入正确的账号密码,就跳转到listHero,并把用户名以“userName”放进session
如果用户输入错误的账号密码,就跳转到login.html,让用户重新登录

五.CRUD

相关文章

网友评论

      本文标题:MVC

      本文链接:https://www.haomeiwen.com/subject/lphloftx.html