不很懂java动态开发,想问下servlet和javabean到底什么关系,具体看补充~
书上常有例子,直接运行servlet得到网页代码,可MVC模式不是告诉我们把servlet作为控制器吗?通过网页表单提交,在后台servlet只是做处理,可是如果使用fo...
书上常有例子,直接运行servlet得到网页代码,可MVC模式不是告诉我们把servlet作为控制器吗?通过网页表单提交,在后台servlet只是做处 理,可是如果使用form的action属性,则网页必定跳转,而且跳转向servlet的话岂不是下一个网页需要使用servlet写出来?如此的话,在新的网页里面如果还有表单要提交,这。。。
而使用javabean的话又如何接收网页上的数据呢?是不是servlet或者javabean响应请求都一定要跳转?但是如果我想要在一个页面内,通过点击超链接,然后启动后台数据库调出数据,然后将调出的数据直接在本页内显示,又要怎么做呢?
我果然是不懂的很,表达起来语无伦次了呃。。。。希望路过的大大能看出点名堂的帮我解答一下,觉得我表达地乱七八糟的就请忽略吧,谢谢了! 展开
而使用javabean的话又如何接收网页上的数据呢?是不是servlet或者javabean响应请求都一定要跳转?但是如果我想要在一个页面内,通过点击超链接,然后启动后台数据库调出数据,然后将调出的数据直接在本页内显示,又要怎么做呢?
我果然是不懂的很,表达起来语无伦次了呃。。。。希望路过的大大能看出点名堂的帮我解答一下,觉得我表达地乱七八糟的就请忽略吧,谢谢了! 展开
3个回答
展开全部
首先,JavaBean和Servlet虽都是Java程序,但是是完全不同的两个概念。
引用mz3226960提出的MVC的概念,即M-model-模型:JavaBean;V-view-表现:JSP页面;C-control-控制和处理:Servlet。
其实所有的程序都可以写在jsp页面里,但是存在以下问题:
1、执行效率低下;
2、不安全,所有的程序都在jsp文件中可见,毫无知识保护可言;
3、逻辑混乱。这样让JSP文件的逻辑很难懂。
于是提出了MVC模式,即将一些处理用的程序从JSP中分离出来,让JSP页面只负责显示,几乎是html,只不过可以动态的读取数据和进行少量的逻辑处理,比如循环、判断等。
可能不举例说你还是不懂,我就举个最简单的例子——留言板。
JSP的职责:从数据库取出数据,显示所有的留言信息(当中要用少量的,简单的逻辑处理:循环)、显示签写留言的页面(几乎全部都是html)。
Servlet的职责:接受签写留言页面提交过来的标单数据,进行数据检验,如果正确,则存入数据库并返回留言的显示页面;如果数据有误,给出错误提示后返回签写留言的页面。可以看到,这个就叫做逻辑处理。这些你也完全可以放在JSP中实现,但是用Servlet,其效率和安全性高多了,也让JSP页面变得很简洁明了。
JavaBean的职责:其实一般的留言板是不需要用到JavaBean的,但在这里,为了让你明白,还是牵强的把JavaBean用进来。所谓JavaBean,就是一个很简单的Java类,比如说,网上商城的所有商品是一个商品类,论坛中所有的帖子是一个帖子类,这里,留言板的所有留言是一个留言类,叫做Message类。每个类有着它特定的属性和方法。对于Message类,其属性有主题、内容、日期、留言者等,其方法可以有添加留言、删除留言、修改留言等。使用JavaBean,主要是为了让JSP编程能够适应Java程序员的习惯,直接对类和实例进行操作,而不是直接去操作数据库。
引用mz3226960提出的MVC的概念,即M-model-模型:JavaBean;V-view-表现:JSP页面;C-control-控制和处理:Servlet。
其实所有的程序都可以写在jsp页面里,但是存在以下问题:
1、执行效率低下;
2、不安全,所有的程序都在jsp文件中可见,毫无知识保护可言;
3、逻辑混乱。这样让JSP文件的逻辑很难懂。
于是提出了MVC模式,即将一些处理用的程序从JSP中分离出来,让JSP页面只负责显示,几乎是html,只不过可以动态的读取数据和进行少量的逻辑处理,比如循环、判断等。
可能不举例说你还是不懂,我就举个最简单的例子——留言板。
JSP的职责:从数据库取出数据,显示所有的留言信息(当中要用少量的,简单的逻辑处理:循环)、显示签写留言的页面(几乎全部都是html)。
Servlet的职责:接受签写留言页面提交过来的标单数据,进行数据检验,如果正确,则存入数据库并返回留言的显示页面;如果数据有误,给出错误提示后返回签写留言的页面。可以看到,这个就叫做逻辑处理。这些你也完全可以放在JSP中实现,但是用Servlet,其效率和安全性高多了,也让JSP页面变得很简洁明了。
JavaBean的职责:其实一般的留言板是不需要用到JavaBean的,但在这里,为了让你明白,还是牵强的把JavaBean用进来。所谓JavaBean,就是一个很简单的Java类,比如说,网上商城的所有商品是一个商品类,论坛中所有的帖子是一个帖子类,这里,留言板的所有留言是一个留言类,叫做Message类。每个类有着它特定的属性和方法。对于Message类,其属性有主题、内容、日期、留言者等,其方法可以有添加留言、删除留言、修改留言等。使用JavaBean,主要是为了让JSP编程能够适应Java程序员的习惯,直接对类和实例进行操作,而不是直接去操作数据库。
展开全部
慢慢来:
1.servlet之所以作控制器,是因为它能进行前台与后台之间的转换与调用。
2.Web前台可以用servlet,但一般情况下都不用servlet,刚开始学MVC框架的时候,为了理解更高层次的框架,才在最开始用servlet做前台。(马上你就会知道servlet不适合作前台了)
3.javabean是专门处理业务逻辑以及连接数据库的,javabean不能直接接收前台网页传来的数据,只能经过控制层(现在来讲就是servlet)来调用相应方法,来将前台传来的数据发送给javabean
4.从你的问题来看,你还没有真正理解MVC三层架构,javabean是model层,是无法直接与Web前台页面接触的。只有控制层和与客户交互层才会相应请求。
5.你可以将超链接地址定位到servlet上,再在这个servlet中调用相应的javabean来实现对数据的操作,其结果通过servlet返回到网页。(最后返回网页的方式有很多,可以以相应的方式,也可以另发送请求)
可以追问,在线等
1.servlet之所以作控制器,是因为它能进行前台与后台之间的转换与调用。
2.Web前台可以用servlet,但一般情况下都不用servlet,刚开始学MVC框架的时候,为了理解更高层次的框架,才在最开始用servlet做前台。(马上你就会知道servlet不适合作前台了)
3.javabean是专门处理业务逻辑以及连接数据库的,javabean不能直接接收前台网页传来的数据,只能经过控制层(现在来讲就是servlet)来调用相应方法,来将前台传来的数据发送给javabean
4.从你的问题来看,你还没有真正理解MVC三层架构,javabean是model层,是无法直接与Web前台页面接触的。只有控制层和与客户交互层才会相应请求。
5.你可以将超链接地址定位到servlet上,再在这个servlet中调用相应的javabean来实现对数据的操作,其结果通过servlet返回到网页。(最后返回网页的方式有很多,可以以相应的方式,也可以另发送请求)
可以追问,在线等
追问
唔,我回几个~
我们在网上一般打开网站时,会是请求的是servlet么?
如果我希望在一个网页打开的时候自动从数据库里面取出数据显示,这样子的话,网页并没有给出request不是么?那么又如何执行呢。。。
追答
不会。一般servlet只是用作控制层,况且在学了SSH之后,struts2就会代替servlet,但是还是要理解servlet在此处的作用。
那就要利用AJAX来执行了,所谓AJAX技术,就是局部页面刷新。
它的意思是在特定的触发条件下,页面上的函数(可以用JQuery或js等写)会向控制层发送请求,它与平时所说的请求相应不同,Ajax可以是异步的。
具体的等你学到就会知道了~
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
servlet和javabean没什么关系。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询