JAVA学习笔记(11)——JSP程序设计

SP的概念
Java Server Pages
Servlet简化设计,逻辑与界面设计分开,开发更方便;
HTML语法的java 扩展,加入新的标签(<%, %>,…);
强大的组件(Java Bean)支持功能;
JSP语法概述
JSP原始代码中包含了JSP元素和Template(模板) data两类
Template data指的是JSP引擎不处理的部分,即标记<%……%>以外的部分,例如代码中的HTML的内容等,这些数据会直接传送到客户端的浏览器

JSP元素则是指将由JSP引擎直接处理的部分,这一部分必须符合JSP语法,否则会导致编译错误。

(一)JSP简介
1.servlet和JSP(JavaServer Page)
– 已成为开发电子商务等动态网站的首选技术,它们都是运行在服务器上的Java程序
– servlet
HTML的编写和维护都比较困难,使用print语句生成HTML并不容易,非Java开发人员很难处理这些HTML
– JSP
静态内容的输出都采用标准的HTML,只用java语言编写页面中生成动态内容的代码
提供了对Java编程语言以及针对动态部分的servlet技术的完全访问
JSP
– 简单的说,就是嵌入了Java代码的HTML,由静态HTML、专用的JSP标签和Java代码组成
– 服务器端的技术。在后台被自动转换成servlet
– 仅在修改后的第一次被访问时,才会被转换成servlet并进行编译,创建JSP唯一的一个一实例
JSP文件在服务器的部署
– 可以和常规的HTML页面放在相同的目录中,并使用和常规HTML相同的URL访问它们
– 除了不允许将WEB-INF和META-INF作目录名之外,可以使用任何喜欢的目录名
– Tomcat中JSP的默认目录是install_dir/webapps/ROOT,我们只要把编写好的JSP文件直接放在此目录下即可
例如install_dir/webapps/ROOT/SomeDirectory/SomeFile.jsp 则对应的URL为http://host:port/SomeDirectory/SomeFile.jsp
2.JSP语法概述
除了标准的HTML以外,JSP主要包括三类组件
– 脚本元素(scripting elements)
使你可以向JSP文件产生的servlet文件中插入代码
– 指令标签(directives)
将影响由JSP页产生的servlet的总体结构
– 动作标签(actions)
影响JSP运行时的功能

(1)脚本元素
脚本元素——向JSP文件产生的servlet文件中插入代码,主要有三种形式
– 表达式<%= expression %>
<%和=之间不能有空格。expression必须能求值,服务器计算出值后以字符串形式发送到客户端显示
– 程序片<% code %>
一个JSP页面可以有许多,它们将被插入到生成的servlet文件的_jspService方法中
每次客户端请求都会新开一个线程,调用servlet的service方法,service方法再调用_jspService方法
–声明语句<%! Declaration %>
声明的内容包括变量和方法,将被插入到生成servlet的类体中,在_jspService方法之外,成为类变量和类方法,直到服务器关闭才被释放
当多个客户请求一个JSP页面时,多个线程将共享这些变量和方法,因而任何一个用户对这些变量操作的结果,都会影响到其他用户
(2)指令标签
–将影响由JSP页产生的servlet的总体结构
–其格式为<%@ directive attribute1="value1" , attribute2="value2" ,┄%>
directive代表指令名称
attribute代表该指令中可选的属性名称
value代表属性值并且总是用单引号或双引号括起来,要想在属性值value中输出引号,可在该引号前用一个反斜杠“\”
–在JSP中,有三种类型的指令
a.page指令
– 可放在文档内的任何位置,该指令对整个页面有效
– 可以定义一个或多个大小写敏感的属性,包括import、contentType、isThreadSafe、Session、buffer等
– import属性
为JSP页面引入Java核心包中的类,这样就可以在脚本部分使用这些类,如:<%@ page import="java.io.*" %>
可以为import属性指定多个值,这些值用逗号分割,这样就可以引入若干个包或类,如:<%@ page import="java.io.*", "java.awt.*", "java.util.Date"%>
JSP页面默认import属性已经有如下的值:"java.lang.*","javax.servlet.*","javax.servlet.jsp.*","javax.servlet.http.*“
除import属性外,Page指令的其它属性只能指定一个值
–contentType属性
定义JSP页面相应的MIME(Multipurpose Internet Mail Extension,多用途Internet 邮件扩展)类型和JSP页面字符编码
其属性使用以下两种格式之一
<%@ page contentType="MIME-Type ;charset=Character-Set"%>
或者
<%@ page contentType="MIME-Type"%>
例如
<%@ page contentType="application/vnd.m s-ex cel; charset=GB2312" %>
其属性默认值为
<%@ page contentType= "text/ html; charset=ISO-8859-1" %>
–isThreadSafe属性
用来设置JSP页面是否可多线程访问
设为true时,JSP页面能同时响应多个客户的请求
设为false时,同一时刻只能处理一个客户的请求,其它客户须等待
其默认值为true
–session属性
表示当前的JSP页面是否参与HTTP会话
设为true时,可以使用内置的javax.Ser

  • 3
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
JSP程序设计从入门到精通》电子书   第1篇 入门篇 7   第1章 Jsp概述 技术分析 7    1.1 Jsp简介与历史背景 7    1.1.1 日新月异的Web技术 7    1.1.2 什么是JSP 8    1.1.3 JSP技术有以下几个显著的优点 9    1.1.4 JSP和其他类似或相关技术的一个简单比较 10    1.2 JSP环境安装配置 12    1.2.1Tomcat下JSP环境的配置 12    1.2.1建立自己的Jsp工作目录 13    1.3 JSP语法介绍 14    1.3.1 JSP页面中的元素 14    1.3.2 JSP语法概要 15    1.3.3关于模板文本(静态HTML) 16    1.4 运行第一个Jsp程序 16    1. 5本章小结 20   第2章Jsp 基础学习 20    2.1 JSP基本语法 20    2.1.1 JSP 语法之声明 21    2.1.2 JSP 语法之表达式 21    2.1.3 JSP 语法之Scriptlet 21    2.2 JSP的指令 22    2.2.1 page指令(Directive) 22    2.2.2 include指令(Directive) 24    2.3 JSP的动作 25    2.3.1 jsp:include动作 25    2.3.2 jsp:useBean动作 27    2.3.3 jsp:setProperty动作 29    2.3.4 jsp:getProperty动作 30    2.3.5 jsp: forward动作 31    2.3.6 jsp: plugin动作 31    2.3.7注释 31    2.4 JSP 9种基本内置组件 31    2.5 JSP中Session的使用 34    2.6 JSP中forward的使用 36    2.7 JSP运行时错误处理与应该注意的六个常见问题 37    2.8 JSP小实例 38    2.8.1实例1(在JSP中定义函数) 38    2.8.2实例2(获取各种CGI环境变量) 39    2.8.3实例3(JSP里request变量列表) 42    2. 9本章小结 44   第3章JavaBean组件 44    3.1 什么是JavaBeans 45    3.1.1 JavaBeans 简介 45    3.1.2 JavaBeans 属性 45    3.1.3 JavaBeans 的事件 50    3.2 在Jsp中使用JavaBeans 55    3.3 JavaBeans的scope属性 57    3.4 JavaBeans应用实例 59    3.4.1 实例1(HelloWord.java) 59    3.4.2 实例2(People.java) 60    3.4.3实例子3数组应用 (Example2_3.java) 60    3.4.4实例子4运算符、表达式应用 (Example3_1.java) 61    3.5 本章小结 62   第4章Jsp与Servlet 62    4.1 什么是Servlets 63    4.1.1 JavaServlet的解释 63    4.1.2 什么是Jsp 65    4.1.3 得到一个Servlets和JSP的运行环境 66    4.1.4 实现第一个JSP和SERVELT 67    4.2 Servlet规范定义的Servlet 生命周期 70    4.3 JSP/Servlet的重定向技术综述 72    4.3.1 RequestDispatcher.forward() 72    4.3.2 response.sendRedirect() 73    4.4 理解会话 74    4.4.1 会话状态跟踪API 75    4.4.2 在会话对象中保存数据 76    4.4.3实例:显示会话信息 76    4.5 用Java Servlets代替CGI 78    4.6 JSP/Servlet 中的汉字编码问题 80    4.7 图解Eclipse+Tomcat集成开发Servlet 84    4.8 Servlets/JSP开发技术问答 93    4.9 Servlet小实例 97    4.5.1实例1(输出) 98    4.5.2实例2(获取表单参数) 99    4.5.3实例3(获取jsp各种参数) 101    4.1

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值