1、 第 一章 什么是JSP 什么是JSP JSP(Java Server Pages)是基于Java 语言的一种Web应用开发技术。利用这一技术可以建立安全、跨平台、易维护的Web 应用程序ss 网络应用中最常见的模式是B/S模式 (Browser / Sever即浏览器/服务器) B/S模式中即需要获取信息的用户使用浏览器向服务器发出请求,服务器对此做出响应,将有关信息发送给用户的浏览器 基于B/S模式的网络程序的核心就是设计服务器端的Web应用程序。 JSP引擎与Tomcat服务器 JSP的核心内容之一就是编写JSP页面,JSP页面是Web应用程序的重要组成
2、部分之一。 简单Web应用程序可能只有一个JSP页面。 复杂的Web应用程序可能由许多JSP页面、Javabean和servlet组成。当用户请求Web服务器上的JSP页面时,JSP引擎负责运行JSP,并将运行结果返回给用户。 2.apache-tomcat-8.0.3.exe的安装 apache-tomcat-8.0.3.exe文件是针对MS-Window的Tomcat服务器,安装后形成的目录结构和apache-tomcat-8.0.3.zip安装的基本相同。 单击下载的apache-tomcat-8.0.3.exe,将出现“安装向导”界面,单击其中
3、的Next按钮,接受授权协议后,将出现选择“安装方式”的界面。在“安装方式”界面中选择Norma、Minimun、Custom和Full之一,然后按着安装向导的提示进行安装即可。 网页浏览过程 打开浏览器->输入网址->打开网页 --浏览器是 网页浏览的工具 --输入网址是向网站服务器发出请求 --打开网页是接收服务器发送的网页 静态网页与动态网页 网页分为静态网页和动态网页,动态与静态是相对的 静态网页:静态网页是事先做好并存放于服务器中的文件,无论是否被访问,都是一个独立存在的文件; 静态
4、网页使用语言:HTML(超文本标记语言); 静态网站没有数据库的支持,在网站制作和维护方面工作量较大; 由于不需通过数据库工作,访问速度比较快; 静态网页的交互性差 动态网页:动态网页实际上并不是独立存在于服务器上的网页文件,只有当用户请求时服务器才返回一个完整的网页; 动态网页以数据库技术为基础,降低网站维护的工作量; 动态网页技术分为客户端和服务器端 常见动态网页技术:JSP,PHP,ASP(.net) ASP——Active Server Page JSP——JavaServer Pages(一种动态网页技术标准。 在传统的网页HTML文件(*.htm,
5、html)中加入Java程序片段(Scriptlet)和JSP标记(tag),就构成了JSP网页(*.jsp)。) Web服务器在遇到访问JSP网页的请求时,首先执行其中的程序片段,然后将执行结果以HTML格式返回给客户。程序片段可以操作数据库、重新定向网页以及发送 email 等等,这就是建立动态网站所需要的功能。 所有程序操作都在服务器端执行,网络上传送给客户端的仅是得到的结果,对客户浏览器的要求最低,可以实现无Plugin,无ActiveX,无Java Applet,甚至无Frame JSP动态网页技术优势 业务逻辑和显示分离 多平台支持及高可移植性 开发便利 安全
6、 较高的效率与性能 较低的开发和运营成本 使用JSP进行开发,需要具备以下的运行环境: Web浏览器 JDK开发工具包 数据库 Web服务器 第 二章 JSP页面 JSP页面可由5种元素组合而成: ① 普通的HTML标记符; ② JSP标记,如指令标记、动作标记; ③ 变量和方法的声明; ④ Java程序片; ⑤ Java表达式 ; JSP页面的运行原理: 把JSP页面中普通的HTML标记符号,交给客户的浏览器执行显示。 JSP标记、数据和方法声明、Java程序片由Tomcat服务器负责执行,将需要显示的结果发送给客户的浏览器。 Java表达式由
7、Tomcat服务器负责计算,将结果转化为字符串,交给客户的浏览器负责显示。 1.在JSP页面的标记符 “<%! ”和“ %> ” 有效范围和标识符的位置无关 之间声明的变量称作JSP页面的成员变量(变量类型可以是java允许的任何数据类型)。 之间声明方法 。该方法在整个JSP页面有效 “<%=”和“%>”之间可以是一个Java表达式 。 表达式的值由服务器负责计算,并将计算结果用字符串形式发送到客户端显示 1. HTML注释格式: 2. JSP注释格式: <%--
8、 注释内容 --%> 定义JSP页面使用的脚本语言,该属性的值目前只能取"java"。 例如: <%@ page language="java" %> 注:JSP页面默认有如上page指令 。 Import 引入Java运行环境提供的包中的类 例如: <%@ page import="java.io.*", "java.util.Date" %> 注:JSP页面默认import属性已经有“java.lang.*”、“javax.servlet.*” 等值。 contentType 属性值确定JSP页面响应的MIME(Multipurpos
9、e Internet Mail Extention)类型和JSP页面字符的编码。 例如: <%@ page contentType="text/html;charset=GB2312" %> <%@ page contentType="application/msword" %> 注:不允许两次使用page 指令给contentType属性指定不同的属性值 . session属性 用于设置是否需要使用内置的session对象。session的属性值可以是true或false。session属性默认的属性值是true。 buffer属性 buffer属性用来指定out设置的
10、缓冲区的大小或不使用缓冲区。 <%@ page buffer= “24kb” %> buffer属性的默认值是8kb 。 buffer属性可以取值“none”,设置out不使用缓冲区。 autoFlush属性: 指定out的缓冲区被填满时,缓冲区是否自动刷新。 注: autoFlush属性的默认值是true。 isThreadSafe属性: 用来设置JSP页面是否可多线程访问。 注: isThreadSafe属性的默认值是true。 info属性 的属性值是一个字符串,其目的是为JSP页面准备一个常用且可能需要经常修改的字符串 例如
11、 <%@ page info= “we are students” %> 注:可以在JSP页面中使用方法: getServletInfo(); 获取info属性的属性值。 <% page contentType=” text/html;charset=gb2312”%>
<%@ include file=”hello.txt”%> include 动作标记 语法格式:12、clude page= "文件的URL"> param子标记 include动作标记告诉JSP页面动态加载一个文件。 注: include 动作标记是在JSP页面运行时才处理文件,被处理的文件在逻辑和语法上独立于当前JSP页面。 param动作标记 forward动作标记 plugin动作标记 useBean动作标记 第 三章 第 四章 内置对象 内置对象有:resquest、response、session、out 、 application request对
13、象可以获取用户提交的信息。request对象获取用户提交信息的最常用的方法是getParameter(String s). 一般格式是:
例如用户提交信息表单: tom.jsp页面可以使用内置request对象获得用户提交的信息 request.getParameter("boy"); 当用request对象获取用户提交的汉字字符时,会出现乱码问题,所以对含有汉字字符的信息必须进行特殊的处理 String str=request.getParameter("girl"); byte b[]=str.getBytes("ISO-8859-1"); str=new String(b);15、 getProtocol():获取请求使用的通信协议,如http/1.1等。 getServletPath():获取请求的JSP页面所在的目录。 getContentLength():获取HTTP请求的长度。 getMethod():获取表单提交信息的方式,如POST或GET。 getHeader(String s):获取请求中头的值。 getHeaderNames():获取头名字的一个枚举。 getHeaders(String s):获取头的全部值的一个枚举。 getRemoteAddr():获取客户的IP地址。 getRemoteHost():获取客户机的名称(如
16、果获取不到,就获取IP地址). getServerName():获取服务器的名称。 getServerPort():获取服务器的端口号。 getParameterNames():获取表单提交的信息体部分中name参数值的一个枚举. HTML是Hypertext Marked Language的缩写,即超文本标记语言。 服务器通过属性name指定的名字来获取“输入对象的GUI类型”中提交的数据。“输入对象的GUI类型”可以是:text(文本框)、checkbox(检查框
17、submit(提交键)等。 文本框text: 单选框radio: 复选框checkbox :
18、口令框password: 隐藏hidden: 提交键submit: 重置键:reset: 处理HTML标记_
20、 表格由
| 单元格中的数据 | …单元格中的数据 |
|---|
21、