- Rongsen.Com.Cn 版权所有 2008-2010 京ICP备08007000号 京公海网安备11010802026356号 朝阳网安编号:110105199号
- 北京黑客防线网安工作室-黑客防线网安服务器维护基地为您提供专业的
服务器维护
,企业网站维护
,网站维护
服务 - (建议采用1024×768分辨率,以达到最佳视觉效果) Powered by 黑客防线网安 ©2009-2010 www.rongsen.com.cn
作者:黑客防线网安JSP教程基地 来源:黑客防线网安JSP教程基地 浏览次数:0 |
java开发者喜欢jsp有很多原因,很多人是因为喜欢其一次编写,随处运行提供web交互,有的人是喜欢其是一种很容易上手学习的服务端脚本技术,但是,jsp最大的优势是他有效的把表现从内容中间分离出来了,从这边文章,我们深入的来分析一下,利用model2 架构把显示层和内容层进行分离,model2也可以看做是设计模式mvc的一种实现形式,请注意你应该在此之前熟悉jsp和servlet的基本编程,在文章中我将不会讲解语法;
serlvets怎么啦?
当jsp很好的提供了显示和内容的分离,很多人都在疑惑servlets是否应该废除,servltes的功效是毫无疑问的,他是服务端优秀的处理过程,就架构而言,你可以把jsp看做是高层次的servltes的实现,但是,你不能不加区别的使用servlets,他们不是对每个人都合适,比如:当页面设计师利用html或者xml工具能够很轻松的写出一个jsp页面的时候,servltes更适合后台开发人员,因为他们经常使用ide来写程序,当部署servltes的时候,开发人员设置必须十分小心确保页面和内容之间没有过分耦合,你可以加入第三方封装包比如mix或者htmlkona来实现这一点,但是通过这种途径,能够对一些简单的页面的改变提供良好的可扩展性,但是你依然不能免除一些页面重大排版所带来的改变,一个简单的例子就是,假如你的html页面必须变更成为dhtml,你也不得不把你的封装包屈从一个新的格式,最坏的情况下,如果一个封装包你无法得到,你必须在动态显示的地方硬编码,那么,解决的办法是什么?你将很快就可以看到,那就是利用servlets和jsp一起来构建应用;
不同的观点:
在早些时候的的jsp说明书里面提倡两种jsp的使用方式,分别是jsp model1
和jsp model2,两者的本质上的区别在于请求的处理,根据图我们可以看出来,model1中,jsp不仅要负责处理客服端的请求,并且还要负责服务端到客服端的页面的返回,但是这里我们依旧把显示和内容进行了分离,因为数据库的数据的访问我们都是通过的javabean来实现的,虽然model1对小的应用来时一种完美的架构,但是对于复杂的应用,他是不可以取的,不加区别的使用这种方式常常导致我们在页面上编入很多java代码,尤其是这里有很多请求需要执行和处理的时候,这也许对程序设计人员来时不是什么问题,但是对于制作和维护页面的设计师和美工人员来说确是噩梦,很多时候导致了开发人员之间的职责难以定义,也让工程管理的人员头疼;
图二显示了model的架构图
对于提供动态内容采用的是混合模式,jsp和model混合使用,他体现了两者各自的长处和优势,利用jsp生成的页面来提供显示,利用servlets来处理客服端的请求,在这里,servlets扮演了一个控制器的角色,他负责生成jsp页面所要用到的一个javabean和对象,并且控制了流程的处理,并且根据不同的请求来决定用转发到哪一个jsp页面,请特别注意,这里的jsp不存在业务逻辑的处理,他的职责很简单,就是取得先前的serlets所生成的javabean和对象,和一些servlets插入到静态模板中的动态内容,使得你的团队中的页面设计人员和程序设计师之间的职责格外的清晰明了,事实上,你的系统越复杂,那么你采用model2所带来的利益就越大;
为了弄明白model2体系架构的一些具体的概念,我们来实现一个在线音乐商店,名字叫做music without border;
理解 music without border:
一个主试图,也就是显示层,通过一个jsp页面Eshop.jsp来展示,如下:你注意到页面上主要是提供了一些用户接口,并没有多少的业务逻辑的处理,在Eshop.jsp页面中,采用了指令<jsp:include page="Cart.jsp" flush="true" />.加入了vcart.jsp页面;
Echop.jsp:
<%@ page session="true" %>
<html>
<head>
<title>Music Without Borders</title>
</head>
<body bgcolor="#33CCFF">
<font face="Times New Roman,Times" size="+3">
Music Without Borders
</font>
<hr><p>
<center>
<form name="shoppingForm"
action="/examples/servlet/ShoppingServlet"
method="POST">
<b>CD:</b>
<select name=CD>
<option>Yuan | The Guo Brothers | China | 4.95</option>
<option>Drums of Passion | Babatunde Olatunji | Nigeria | 6.95</option>
<option>Kaira | Tounami Diabate| Mali | 6.95</option>
<option>The Lion is Loose | Eliades Ochoa | Cuba | 3.95</option>
<option>Dance the Devil Away | Outback | Australia | 4.95</option>
<option>Record of Changes | Samulnori | Korea | 2.95</option>
<option>Djelika | Tounami Diabate | Mali | 4.95</option>
<option>Rapture | Nusrat Fateh Ali Khan | Pakistan | 2.95</option>
<option>Cesaria Evora | Cesaria Evora | Cape Verde | 6.95</option>
<option>Ibuki | Kodo | Japan | 3.95</option>
</select>
<b>Quantity: </b><input type="text" name="qty" SIZE="3" value=1>
<input type="hidden" name="action" value="ADD">
<input type="submit" name="Submit" value="Add to Cart">
</form>
</center>
<p>
<jsp:include page="Cart.jsp" flush="true" />
我要申请本站:N点 | 黑客防线官网 | |
专业服务器维护及网站维护手工安全搭建环境,网站安全加固服务。黑客防线网安服务器维护基地招商进行中!QQ:29769479 |