《JSP基础教程》
《JSP基础教程》(清华版)
动态网页编程语言,Web开发技术
第1章 JSP简介
基础:Java语言基础,HTML语言知识。
除了普通的HTML标记符外,还使用标记符号<% 和%>加入Java代码。
JSP运行原理
首先将JSP页面文件转译成一个Java文件,然后再编译生成字节码文件,最后通过执行这个字节码文件响应客户。
JSP页面的首次执行往往由服务器管理者来执行。
当多个客户请求一个JSP页面时,JSP引擎为每个客户启动一个线程,而不是启动一个进程。
这些线程由JSP引擎服务器来管理,与传统的CGI为每个客户启动一个进程相比较,效率要高得多。
第2章 JSP语法
传统HTML页面文件中加入Java代码和JSP的标签 = JSP页面文件。
以下5种元素:
变量和方法的声明
<%! 和 %>标记符号之间声明变量和方法
<%!
Int x,y=100,z;
String tom=null,jerry=”love JSP”;
Date date;
%>
这些变量作为类的成员变量,这些变量的内存空间直到服务器关闭才被释放。
JSP引擎启动的线程,共享JSP页面的成员变量。因此任何一个用户对JSP页面成员变量操作的结果,都会影响到其他用户。
|
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>JSP Learning</title> </head> <body bgcolor=cyan> <font size = 4> <%! int i = 0; %> <% i++; %>
<P>您是第 <%=i %> 个访问本站的用户 </font>
</body> </html> |
声明方法
在<%! 和%>之间声明方法,该方法在整个JSP页面有效。
|
<%@ page contentType="text/html;charset=GB2312" %> <%@ page import="java.io.*" %> <html> <body BGCOLOR=cyan><font size=4> <%! int number = 0; File file = new File("count.txt"); synchronized void countPeople() { if(!life.exists()) { number++; try{ file.createNewFile(); FileOutputStream out = new FileOutoutStream("count.txt"); DataOutputStream dataout = new DataOutputStream(out); dataOut.writeInt(number); out.close(); dataOut.close(); }catch(IOException ee){} else{ try{
|
2.3.3 声明类
String str = request.getParameter(“cat”);
2.3 Java程序片
一个程序片可以分割成几部分,在其中间插入JSP页面的其他标记元素。
2.4 表达式
在<%= 和 %>之间插入表达式,服务器计算后以字符串形式发送到客户端显示。
2.5 JSP中的注释
<!-- -->
<%-- --%>
2.6 JSP指令标签
page指令:
<%@ page contentType=”text/html;charset=GB2312” %>
<%@ page language=”java” %>
include指令标签:
2.7 JSP动作标签
double n = Double.parseDouble(str);
第3章 JSP内置对象
Request,response,session,application,out内置对象。
Http协议:请求和响应协议
200 OK的状态行
3.1 request对象
Request封装了用户提交的信息。
From是表单标签。
Get方法提交的信息会显示在浏览器的地址栏中。
Post方法提交的信息不会显示在地址栏中。
3.1.2 处理汉字信息
一个典型的请求包含很多头,有些头是标准的,有些头是和特定浏览器相关的。
3.1.3 常用方法举例
3.1.5 获取HTML表单提交的数据(P53)
Input的基本格式:
文本框:text
表格:
以上一段代码的效果如下:
3.2 Response对象
3.2.2 Response的HTTP文件头
3.2.3 response重定向
3.2.4 response的状态行
响应的第一行:包括3位数字的状态代码和对状态代码的描述(原因短语)
1yy:实验性质
2yy:请求成功
3yy:在请求满足之前应采取进一步的行动
4yy:浏览器做出无法满足的请求 404表示请求的页面不存在
5yy:表示服务器出现问题。
使用setStatus(int n)设置相应的状态行
状态代码表
3.3 session对象
HTTP协议是一种无状态协议,一个客户端向服务器发出请求,服务器返回响应,连接就被关闭了。在服务器端不保留连接的有关信息。
使用会话可以记录有关连接的信息。Session会话对象:服务器应当通过某种办法知道这是同一个客户。
3.3.1 Session对象的id
每个客户端都对应着一个Session对象。(直到关闭了浏览器,或者这个Session对象达到了最大生存时间,服务器端该客户的Session对象被取消)
当客户重新打开浏览器在连接到该服务目录时,服务器为该客户再创建一个新的session对象。
3.3.2 session对象与URL重写

浙公网安备 33010602011771号