jsp、servlet一家亲

上个月写了《教你servlet入门》,今天来探究一下关于jsp的那些故事。

§ 回顾

1. 什么是Web应用程序?

2. 什么是Servlet,和一般Java程序有什么区别?

3. 什么是JSP,和Java是什么关系?

4. JSP和Servlet有哪些异同点?

5. JSP和Servlet的主要用途?

§ 一家亲

JSP:Java server  Pages,是由sun 公司倡导、许多公司参与一起建立的一种动态网页技术标准。它在HTML代码中插入JSP标记及Java程序(Scriptlet)构成JSP界面,扩展名为.JSP。当客户端请求JSP文件时,web服务器会执行该JSP文件,然后以HTML的格式返回给客户。而JSP是构建在servlet智商的高层次的动态网页标准。所以从概念上来讲,相对servlet而言,JSP没有什么新东西,可以说概念是完全一样的,只是在实现方式上稍有不同而已。因此,JSP就是servlet的一种变式。

§ JSP的运行方式

.JSP文件会在第一次被调用时进行编译,比如test.jsp文件会在第一次调用时被编译为test_jsp.java文件,之后和servlet文件的编译流程一样,被编译为.class文件。从这以后,如果再有客户需要请求该JSP页面,JSP页面不需要重新编译而是直接执行第一次已经编译好的.class文件。下面我们通过一张时序图来进一步了解JSP文件的调用和编译过程:

§  JSP的优点

1.一次编译,多次、多处运行

 JSP的脚本语言是Java语言,它具有Java语言的一切特性,像上图中显示的过程那样,在JSP文件被编译之后,有客户再次请求该页面时,JSP不需要被重新编译,而是直接执行早已经编译好的.class文件,因此执行效率会特别高。 

2.组件可重用性,平台无关性

具有可重用性和跨平台性的javaBeans和Ejb组件,为JSP程序的开发提供方便,我们可以将复杂的处理程序放到这些组件中,这样我们通过多次使用这些组件,极大地减少了在JSP页面中重写重复的代码,提高了效率,增强了代码的重用性。

3.降低耦合度,增加源程序代码的安全性

使用JSP技术,web页面开发人员可以使用HTML和xml标识来设计和格式化最终页面,使用JSP脚本或者标识来生成页面上的动态内容,生成动态内容的语句一般被封装在JavaBean、ejb或者JSP脚本段中,这样页面的设计人员和页面的编程人员的工作可以同步进行。并且我们在客户端通过查看源文件,看不到JSP标识的语句,也看不到在组件中封装好的代码,这样就达到了类似三层的解耦作用,有效保护了源代码。

§ JSP和servlet的结合使用


由于我们使用servlet处理大量的HTML文本(如拼接表格的HTML语句)时,不仅仅任务量较大,而且不利于后期的维护和扩展,所以我们处理前端界面效果时采用的JSP技术,而对于程序的逻辑控制则使用servlet技术。

 

§ JSP和servlet的区别

 JSP技术是servlet技术的发展,所以本质上就是servlet的简易方式。而两者最大的不同点在于servlet的应用逻辑是在Java文件中,并且完全从表示层中的HTML里分离出来。而JSP的情况是将Java和HTML组合成一个扩展名为.JSP的文件。所以在实际应用中,我们采用JSP来生成动态的网页页面,采用servlet来控制业务流程也就是所谓的业务逻辑。所以JSP侧重于视图,而servlet注重对逻辑的控制。

因此,在web建设中到底使用哪种技术周密详细的事前规划,而网站建设又不光是技术的问题,所以我们在学习和对比JSP和servlet的同事更应该注意从中汲取思想的精华,因为技术会过时,而思想却受用一生。

时间: 2024-11-08 01:58:15

jsp、servlet一家亲的相关文章

JSP+Servlet中使用jspsmartupload.jar进行图片上传下载

JSP+Servlet中使用cos.jar进行图片上传 upload.jsp <form action="FileServlet" method="post" enctype="multipart/form-data"> <input type="file" name="myfile"> <input type="text" name="cmt&q

JSP/Servlet Web应用中.properties文件的放置与读取

本地项目在本地类库中,我经常使用当前目录来放置.properties文件,这时调用方只要引用我的jar,并且将我的.properties放在他的classpath里面即可,比如:p.load(new FileInputStream("HanLP.properties"));这样类似下图的项目结构就可以跑起来:JSP/Servlet Web项目但是到了Web项目时,情况大不相同.在Tomcat下,classpath里只含apache-tomcat-8.0.14\bin目录下有限的...

JSP/Servlet 工作原理

JSP/Servlet 工作原理(转载) 2014-03-08 23:20 1829人阅读 评论(0) 收藏 举报 Servlet Servlet 没有 main 方法,不能够独立的运行,它的运行需要容器的支持,Tomcat 是最常用的 JSP/Servlet 容器. Servlet 运行在 Servlet 容器中,并由容器管理从创建到销毁的整个过程. 对于用户到达Servlet的请求,Servlet容器会创建特定于这个请求的ServletRequest对象和 ServletResponse对象

jsp servlet的区别和联系

简单的说,SUN首先发展出SERVLET,其功能比较强劲,体系设计也很先进,只是,它输出HTML语句还是采用了老的CGI方式,是一句一句输出,所以,编写和修改HTML非常不方便. 后来SUN推出了类似于ASP的镶嵌型的JSP,把JSP TAG镶嵌到HTML语句中,这样,就大大简化和方便了网页的设计和修改.新型的网络语言如ASP,PHP,JSP都是镶嵌型的SCRIPT语言. JSP在本质上就是SERVLET,但是两者的创建方式不一样. Servlet完全是JAVA程序代码构成,擅长于流程控制和事务

基于jsp+servlet图书管理系统之后台用户信息删除操作

上一篇的博客写的是修改操作,且附有源码和数据库,这篇博客写的是删除操作,附有从头至尾写的代码(详细的注释)和数据库! 此次删除操作的源码和数据库:http://download.csdn.net/detail/biexiansheng/9732955 自此,基于jsp+servlet开发的用户信息增删该查已经全部写完了,上面的链接是全部的代码,包含增删该查和数据库. 注意点: 1:删除操作使用的是伪删除.即只是不在页面显示了,但是还保存在数据库. 2:分页查询使用的是一个小工具,后面有时间把这些

最简单的jsp+servlet的增删改查代码

package ceet.ac.cn.dao; import java.sql.Connection; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.SQLException; import java.util.ArrayList; import java.util.List; import ceet.ac.cn.model.Admin; public class AdminDao {

Java Web学习(30): 使用JSP+Servlet+JavaBean实现用户登录

实现用户登录 用户名admin,密码admin,登录成功使用服务器内部跳转到login_success2.jsp页面,并且提示登录成功的用 户名,如果登录失败则跳转到login_failure2.jsp页面. 之前我们使用JSP实现过,也JSP+JavaBean实现过,这一次我们更加细化,使用JSP+Servlet+JavaBean实现用 户登录,好多的源码也是在前面写过. 我们先来看整体的目录结构: 再来看看源代码: 实体类Users.java源代码: package com.entity;

基于JSP+Servlet+JavaBean的图片或文件上传

基于JSP+Servlet+JavaBean的图片或文件上传 一.概述 现在不管是博客论坛还是企业办公,都离不开资源的共享.通过文件上传的方式,与大家同分享,从而达到大众间广泛的沟通和交流,我们既可以从中获得更多的知识和经验,也能通过他人的反馈达到自我改进和提升的目的. 下面我就为大家介绍 web项目中的这一上传功能,那么文件是如何从本地发送到服务器的呢?大家可以在在线视频课程进修学习<基于JSP+Servlet+JavaBean的人力资源管理系统开发>中第22课-项目开发-其它功能完善-图片

基于JSP+Servlet+JavaBean的人力资源管理系统开发课程

<基于JSP+Servlet+JavaBean的人力资源管理系统开发> 课程观看地址:http://www.xuetuwuyou.com/course/53 讲师:蒋子厚(http://www.xuetuwuyou.com/user/1984) 课程出自学途无忧网:http://www.xuetuwuyou.com 课程介绍 一.课程使用到的软件及对应的版本 1.jdk 1.7 2.tomcat 7.0 3.MySQL6.0+ 4.navicat 9 + 5.Macromedia Dreamw