本着和大家共同学习jsp的原则,今天谈一谈jsp.

首先,JSP(全称JavaServer Pages)是由Sun Microsystems公司倡导和许多公司参与共同创建的一种使软件开发者可以响应客户端请求,而动态生成HTML、XML或其他格式文档的Web网页的技术标准。JSP技术是以Java语言作为脚本语言的,JSP网页为整个服务器端的Java库单元提供了一个接口来服务于HTTP的应用程序。用JSP开发的Web应用是跨平台的,既能在Linux下运行,也能在其他操作系统上运行。

1.  一个JSP页面可以被分为以下几部分:

(1)静态数据,如HTML

(2)JSP指令,如include指令

(3)JSP脚本元素和变量

(4)JSP动作

(5)用户自定义标签

2.JSP的基本原理:

  jsp的本质是servlet。jsp通过在标准的HTML页面中嵌入java代码,其静态的部分无需Java程序控制,只有那些需要从数据库读取或需要

动态生成的的页面内容,才使用Java脚本控制。

  jsp页面内容:

  >静态部分:标准的HTML标签、静态的页面内容,这些内容与静态HTML页面相同。

  >动态部分:受Java程序控制的内容,这些内容由Java程序来控制。

注意:JSP的本质依然是servlet,每个JSP页面就是一个Servlet实例——JSP页面有系统编译成Servlet,Servlet再负责响应用户请求。

JSP的工作原理:

    Client            →发出请求→        JSP Server(如果该JSP页面第一次收到请求,先编译JSP文件,生成对应的Servlet,如果该JSP页面已有对应的

          ←返回标准的HTML页面←    的Servlet,这根据请求动态生成标准的HTML页面。注:每次都会根据请求动态生成HTML文档。)

1、JSP文件必须在JSP服务器内运行。

2、JSP文件必须生成servlet才能执行。

3、每个JSP页面的第一个访问者速度很慢,因为必须等待JSP编译成Servlet。

4、JSP页面的访问者无须安装任何客户端,甚至不需要可以运行的Java的运行环境,因为JSP页面输送到客户端的是标准HTML页面。

3.JSP的优化:

(1).将内容的生成和显示进行分离

(2).可重用组件

(3).采用标识

(4).适应平台

4.

技术强势

(1)一次编写,到处运行。除了系统之外,代码不用做任何更改。

(2)系统的多平台支持。基本上可以在所有平台上的任意环境中开发,在任意环境中进行系统部署,在任意环境中扩展。相比ASP的局限性JSP的优势是显而易见的。

(3)强大的可伸缩性。从只有一个小的Jar文件就可以运行Servlet/JSP,到由多台服务器进行集群和负载均衡,到多台Application进行事务处理,消息处理,一台服务器到无数台服务器,Java显示了一个巨大的生命力。

(4)多样化和功能强大的开发工具支持。这一点与ASP很像,Java已经有了许多非常优秀的开发工具,而且许多可以免费得到,并且其中许多已经可以顺利的运行于多种平台之下。

(5)支持服务器端组件。web应用需要强大的服务器端组件来支持,开发人员需要利用其他工具设计实现复杂功能的组件供web页面调用,以增强系统性能。JSP可以使用成熟的JAVA BEANS 组件来实现复杂商务功能。

技术弱势

(1) 与ASP也一样,Java的一些优势正是它致命的问题所在。正是由于为了跨平台的功能,为了极度的伸缩能力,所以极大的增加了产品的复杂性。

(2) Java的运行速度是用class常驻内存来完成的,所以它在一些情况下所使用的内存比起用户数量来说确实是“最低性能价格比”了。

5.jsp的简单小实例:

<html>

<head>

<title>FirstPage</title>

</head>

<body>

<p>这是我的第一个jsp页面,请多多关照</p>

</H3>

</body>

</html>.

备注:将这个档案与你所有的HTML与JSP网页放在你JSWDK安装目录下的网页目录里. 你可以在http://localhost:8080/sample.jsp下载此页.当你第一次参观这个网页时,网站服务器会将JSP翻译成Javaservlet程序代码,那你就会看到的日期与时间。

6.C/S、B/S软件技术上的比较

C/S

结构软件(即客户机/服务器模式)分为客户机和服务器两层,客户机不是毫无运

算能力的输入、输出设备,

而是据有了一定的数据处理和数据存储能力,

通过把应用软件的

计算和数据合理地分配在客户机和服务器两端,

可以有效地降低网络通信量和服务器运算量。

由于服务器连接个数和数据通信量的限制,

这种结构的软件适于在用户数目不多的局域网内

使用。国内目前的大部分

ERP(财务)软件产品即属于此类结构。

B/S(浏览器/服务器模式)

是随着Internet技术的兴起,对C/S

结构的一种改进。在这种结构下,软件应用的业务逻辑完全在应用服务器端实现,用户表现完全在

Web服务器实现,

客户端只需要浏览器即可进行业务处理,

是一种全新的软件系统构造技术。这种结构

更成为当今应用软件的首选体系结构。

7.jsp未来前景

JSP应该是未来发展的趋势。世界上一些大的电子商务解决方案提供商都采用J 
SP/Servlet。比较出名的如IBM的E-business,它的核心是采用JSP/Servlet的WebSphere; 
西方另外一个非常著名的电子商务软件提供商,Intershop。它原来的产品Intershop1 2, 3 
, 4占据了主要的电子商务软件份额。它们都是通过CGI来提供支持的。

你顿悟的那一刻才算成长。                         ---潇洒先生

了解一下jsp的更多相关文章

  1. myeclipse学习总结一(在MyEclipse中设置生成jsp页面时默认编码为utf-8编码)

    1.每次我们在MyEclispe中创建Jsp页面,生成的Jsp页面的默认编码是"ISO-8859-1".在这种情况下,当我们在页面中编写的内容存在中文的时候,就无法进行保存.如下图 ...

  2. jsp前端实现分页代码

    前端需要订一page类包装,其参数为 private Integer pageSize=10; //每页记录条数=10 private Integer totalCount; //总记录条数 priv ...

  3. jsp中出现onclick函数提示Cannot return from outside a function or method

    在使用Myeclipse10部署完项目后,原先不出错的项目,会有红色的叉叉,JSP页面会提示onclick函数错误 Cannot return from outside a function or m ...

  4. jsp页面无法识别el表达式的解决方案

    今天在写一个springmvc的小demo时,碰到一个问题,在jsp页面中书写为${user.username}的表达式语言,在浏览器页面中仍然显示为${user.username},说明jsp根本不 ...

  5. 浅谈JSP中include指令与include动作标识的区别

    JSP中主要包含三大指令,分别是page,include,taglib.本篇主要提及include指令. include指令使用格式:<%@ include file="文件的绝对路径 ...

  6. 浅谈JSP注释

    HTML注释 JSP文件是由HTML尿急和嵌入的Java程序片段组成的,所以在HTML中的注释同样可以在JSP文件中使用.注释格式:<!--注释内容--> <!-- 欢迎提示信息! ...

  7. JSP 标准标签库(JSTL)

    JSP 标准标签库(JSTL) JSP标准标签库(JSTL)是一个JSP标签集合,它封装了JSP应用的通用核心功能. JSTL支持通用的.结构化的任务,比如迭代,条件判断,XML文档操作,国际化标签, ...

  8. Nginx服务器之Nginx与tomcat结合访问jsp

    本文使用linux centos系统 本文概述: JSP是一种动态网页技术标准.使用的方式是在HTML文件中插入程序段和JSP标记,而形成JSP文件.使用JSP开发WEB应用可以跨平台开发.但jsp需 ...

  9. 基于jsp+servlet图书管理系统之后台万能模板

    前奏: 刚开始接触博客园写博客,就是写写平时学的基础知识,慢慢发现大神写的博客思路很清晰,知识很丰富,非常又价值,反思自己写的,顿时感觉非常low,有相当长一段时间没有分享自己的知识.于是静下心来钻研 ...

  10. JSP页面跳转的几种实现方法

    使用href超链接标记      客户端跳转 使用JavaScript               客户端跳转 提交表单                        客户端跳转 使用response ...

随机推荐

  1. Data Base sqlServer基础知识

    sqlServer   基础知识 大纲 创建数据库 1 创建表 2 备份表 3 删除表 4 修改表 5 查询出重复的数据 6 增删改查 7 添加约束 8 分页存储过程 9 排序 10 类型转换 11 ...

  2. iOS-APP中添加启动界面

    iOS,非常高兴的又回到了这个领域.纠结的就业之路...找工作的这段时间里,原本以为是iOS的游戏开发,却一直只有后台的offer,到Android,最后正式上班的时候却被告知调到了iOS开发,当然不 ...

  3. UNIX / Linux: 2 Ways to Add Swap Space Using dd, mkswap and swapon

    UNIX / Linux: 2 Ways to Add Swap Space Using dd, mkswap and swapon by RAMESH NATARAJAN on AUGUST 18, ...

  4. 嵌入式linux内核是什么?

    linux内核是一种可以被内核动态加载(insmode)和卸载(rmmod)的可执行二进制代码 最简单的内核 #include <linux/module.h> #include < ...

  5. core--进程

    前面我们说了线程是一系列的指令,那么进程是什么呢?进程就是装下这些指令的容器.该容器除了线程,还包含资源等内容.一个进程至少要有一个线程.没有线程的进程就不叫进程 "进程和程序的区别:进程必 ...

  6. Qt之QTableView显示富文本

    简述 对于QTableView中的显示,我们前面介绍过很多种,其中包括:文本.进度条.复选框等,今天我们介绍一下关于富文本的显示. 可能绝大多数小伙伴会通过QAbstractTableModel中的d ...

  7. QDialog之屏蔽Esc键

    简述 Qt中Esc键会在一些控件中默认的进行一些事件的触发,比如:QDialog,按下Esc键窗口消失.大多数情况下,我们不需要这么做,那么就需要对默认事件进行屏蔽. 简述 源码分析 事件过滤器 事件 ...

  8. ubuntu搭建DNS

    ubuntu搭建DNS 一.     bind简介: BIND是Domain Name System (DNS) 协议的一个实现,提供了DNS主要功能的开放实现,主要包括以下三种: *域名服务器 *D ...

  9. source导入错码解决办法

    mysql -uroot -p --default-character-set=utf8 test < D:/bak/1.sql

  10. Cmockery macro demo hacking

    /********************************************************************* * Cmockery macro demo hacking ...