JSP技术介绍

1. 技术介绍

JSP即Java Server Page,中文全称是Java服务器语言。它是由Sun Microsystems公司倡导、许多公司参与建立的一种动态网页技术标准,它在动态网页的建设中有强大而特别的功能。JSP是Java阵营中最具代表性的解决方案。使用JSP,不仅能够制作HTML静态页,还能够制作包含动态数据的网页。

2. JSP的运行原理

在JSP第一次获得来自于客户端浏览器的请求时,JSP文件将被JSP引擎(JSP engine)转换成一个Servlet,即将”.jsp”文档编译成Java Class文档。当Servlet引擎接收到请求后,如果设置了使用最新的JSP,它就会去找JSP文档,检查该文档在上次编译后是否改动过。如果改动过,就会重新编译生成新的Servlet,最终将请求转交给编译好的Servlet引擎执行。如图2所示。

图2  JSP运行原理图

在编译时如果发现JSP文件有任何语法错误,转换过程将中断,并向客户端发出出错信息,如果编译成功,则所转换产生的Servlet代码被编译,然后该Servlet被JSP引擎加载到内存中。此时JSP引擎还请求了jspInit()方法的执行,并对此Servlet初始化。JspInit()方法在Servlet的生命周期中只被请求一次,然后将被调用来处理客户端的请求和回复操作。对于所有随后对该JSP档的请求,服务器将检查该JSP档自最后一次被存取后是否经过修改。如果没有修改,则将请求交还给还在内存中的Servlet的jspService()方法,执行回复操作。

由于Servlet始终驻于内存,所以响应是非常快的。Jsp页面在第一次访问时由于要转化和编译,运行速度较慢,但是当第二次访问该页时,由于文件已经被编译成字节码文件,所以速度非常得快。

3. JSP的生命周期

.jsp首先会被服务器编译为.java档,然后服务器自动编译.java档生成.class档,如果.jsp档的内容改变,服务器会重新生成.java文件和.class文件。如果有客户端访问JSP程序,那么_jsp_init方法被启动,JSP程序以实例的形式保存在服务器内,客户端通过_jspService方法与JSP程序交流数据,如果服务器关闭,JSP程序的jspDestroy方法被启动,然后JSP程序的生命周期结束。JSP的生命周期结构图如图3所示。

图3  JSP的生命周期结构图

4. Servlet和JavaBean技术介绍

java虚拟机是java语言的运行环境,它是java最具有吸引力的特性之一。Java程序在编译后生成的不是某种cpu的指令码,而是java语言二字节代码。这些位元组代码指令都是在虚拟机环境下运行的,虚拟机底层的运行系统把自己代码转化成实际的硬件调用,虽然每种操作系统的解释器各不相同,但java虚拟机是相同的,这就是java语言跨平台的原因。现在的jvm通常包含java软件开发包(jsdk)中,jsdk提供了java中最基础的类包,java程序开发工具JAVA2SDK在SUN公司的网站中下载。

5. JSP访问SQL Server 2000数据库

安装与配置JDBC驱动程序

  1. 找到微软公司提供的JDBC驱动程序:SQL Sever 2000 Driver for JDBC SP3,并安装到默认路径:C:\Program Files\Microsoft SQL Server 2000 Driver for JDBC;
  2. 设置系统环境变量

a)   JDBC_HOME=C:\Program Files\Microsoft SQL Server 2000 Driver for JDBC

b)   classpath=;%JDBC_HOME%\lib\msbase.jar;%JDBC_Home%\lib\mssqlserver.jar;%JDBC_Home%\lib\msutil.jar;

  1. 将JDBC目录下lib文件夹下的msbase.jar,mssqlserver.jar,msutil.jar复制到Tomecat 5.0安装目录下的common\lib中。
  2. 最好将SQL Server 2000升级一下,这样更好用,这是我从网上借鉴的经验。
  3. 在JSP使用JDBC访问SQL Server 2000数据库

a)   url="jdbc:Microsoft:sqlserver://localhost:1433;DatabaseName=master"

b)   driver为"com.microsoft.jdbc.sqlserver.SQLServerDriver"

  1. 在连数据库时还要注意server2000的数据库的访问权限和密码设置
  2. 引入sql包&io包
  3. at6.0,在浏览器的地址中输入http://localhost:8080,如jsp及bean等没有错误,一般会将你的index.jsp/index.html檔的内容给执行并显示。
  4. 或者是你可以在你 XML文件中加入一个<welcome-file-list><welcome-file>
  5. Login.jsp</welcome-file></welcome-file-list>,就可以指定启动Tomcat6.0后所显示的界面。可以为节省时间,我们可以将http://localhost:8080/bysj/login.jsp设为浏览器的主页。

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏云计算教程系列

如何在Ubuntu 18.04上安装Jenkins

Jenkins是一个开源自动化服务器,可以自动执行持续集成和交付软件所涉及的重复技术任务。Jenkins是基于Java的,可以从Ubuntu软件包安装,也可以通...

9124
来自专栏Web项目聚集地

从零学习Spring MVC框架「运行流程及静态资源处理」

第一篇文章「从零学习Spring MVC框架「环境搭建和MVC架构」」中我们初步进行了环境搭建,对Spring MVC框架的运行原理有个大体了解,为了帮助大家理...

951
来自专栏码匠的流水账

docker运行kafka manager

192.178.99.100:9000,然后添加cluster即可,其中zk地址填写zookeeper:2181

6442
来自专栏用户2442861的专栏

linux GDB调试c++程序

  GDB 是GNU开源组织发布的一个强大的UNIX下的程序调试工具。或许,各位比较喜欢那种图形界面方式的,像VC、BCB等IDE的调试,但如果你是在 UNI...

1382
来自专栏遊俠扎彪

Linux pstack 源码里的基础知识

Pstack 是 Linux 下一款堆栈跟踪工具,可以打印一个在跑程序的实时堆栈信息,其用法非常简单,只需要给定进程号即可,本文主要介绍Linux pstack...

6552
来自专栏译文

8种基于文件的Linux备份解决方案

在开发不同的 Web 项目时,我积累了大量的工具和服务,以方便开发人员、系统管理员和运维的工作。 在这些项目即将开发完成之时,开发人员面临的头号难题之一,是对媒...

41910
来自专栏友弟技术工作室

IPFS星际文件系统之-- 环境配置

IPFS(InterPlanetary File System)是一个点对点的分布式超媒体分发协议,它整合了过去几年最好的分布式系统思路,为所有人提供全球统一的...

2174
来自专栏漏斗社区

工具| 诸神之眼nmap定制化之初识篇

Nmap是学习网络安全必备的一款工具,有着强大的信息收集能力,有本书甚至因此称它为“诸神之眼” 。Nmap不仅仅是一个端口扫描器那么简单,它还有着一个强大的脚本...

4458
来自专栏PHP实战技术

论linux下计划任务

小伙伴们,平时做程序开发的时候,是否也曾为实现一个商城网站或者一个小程序自动执行某个方法而苦恼呢? 今天思梦php就给大家带了这...

3589
来自专栏程序员互动联盟

java三大框架介绍

常听人提起三大框架,关于三大框架,做了如下了解: 三大框架:Struts+Hibernate+Spring java三大框架主要用来做WEN应用。 Str...

4174

扫码关注云+社区

领取腾讯云代金券