《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>您是第

    <%=%>

    个访问本站的用户

</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 ResponseHTTP文件头

 

 

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重写

 

posted @ 2015-09-26 22:56  Uncle_Nucky  阅读(423)  评论(0)    收藏  举报