当前位置:文档之家› JSP知识

JSP知识

JSP知识
JSP知识

第4章 JSP技术基础知识

JSP(Java Server Page)是SUN公司开发的一种服务器端的脚本语言,自从1999年推出以来,逐步发展为开发Web应用一项重要技术。JSP可以嵌套在HTML中,而且支持多个操作系统平台,一个用JSP开发的Web应用系统,不用做什么改动就可以在不同的操作系统中运行。

在本章接下来的内容中,首先将简单介绍JSP的运行原理和基本语法,然后重点介绍在实际开发过程中技巧和方法。

4.1 JSP简介

JSP本质上就是把Java代码嵌套到HTML中,然后经过JSP容器的编译执行,可以根据这些动态代码的运行结果生成对应的HTML代码,从而可以在客户端的浏览器中正常显示。在这个小节中将介绍JSP的运行原理、JSP的优点和其运行环境的搭建。

4.1.1 运行原理

因为本书讲述的主要内容就是基于JSP的Java Web应用程序开发技术,为了是读者对JSP有一个更加深入的了解,在这里有必要对JSP的运行机制、原理进行深入的介绍。

如果JSP页面是第一次被请求运行,服务器的JSP编译器会生成JSP页面对应的Java代码,并且编译成类文件。当服务器再次收到对这个JSP页面请求的时候,会判断这个JSP页面是否被修改过,如果被修改过就会重新生成Java代码并且重新编译,而且服务器中的垃圾回收方法会把没用的类文件删除。如果没有被修改,服务器就会直接调用以前已经编译过的类文件。

下面就是一个简单的JSP页面,在这个页面中没有任何动态代码,其功能是在页面显示一句话,这个JSP也页面的具体代码如下。

//--------文件名:Simple.jsp--------------------

<%@ page language="java" import="java.util.*" pageEncoding="gb2312"%>

简单JSP页面示例

这是一个简单的JSP页面示例

上面这个JSP页面在被请求的时候,Web服务器中的JSP编译器会生成对应的Java文件,上面这个JSP程序对应的Java代码如下所示。

//--------文件名:Simple_jsp.java--------------------

package org.apache.jsp;

import javax.servlet.*;

import javax.servlet.http.*;

import javax.servlet.jsp.*;

import java.util.*;

public final class Simple_jsp extends org.apache.jasper.runtime.HttpJspBase

implements org.apache.jasper.runtime.JspSourceDependent {

private static java.util.Vector _jspx_dependants;

public java.util.List getDependants() {

return _jspx_dependants;

}

public void _jspService(HttpServletRequest request, HttpServletResponse response) throws java.io.IOException, ServletException {

JspFactory _jspxFactory =null;

PageContext pageContext =null;

HttpSession session =null;

ServletContext application =null;

ServletConfig config =null;

JspWriter out =null;

Object page =this;

JspWriter _jspx_out =null;

PageContext _jspx_page_context =null;

try {

_jspxFactory =JspFactory.getDefaultFactory();

response.setContentType("text/html;charset=gb2312");

pageContext =_jspxFactory.getPageContext(this, request, response,

null, true, 8192, true);

_jspx_page_context =pageContext;

application =pageContext.getServletContext();

config =pageContext.getServletConfig();

session =pageContext.getSession();

out =pageContext.getOut();

_jspx_out =out;

out.write("\r\n");

out.write("\r\n");

out.write(" \r\n");

out.write(" 简单JSP页面示例\r\n");

out.write(" \r\n");

out.write("\r\n");

out.write(" 这是一个简单的JSP页面示例
\r\n");

out.write(" \r\n");

out.write("\r\n");

} catch (Throwable t) {

if (!(t instanceof SkipPageException)){

out = _jspx_out;

if (out !=null && out.getBufferSize() !=0)

out.clearBuffer();

if (_jspx_page_context !=null) _jspx_page_context.handlePageException(t);

}

} finally {

if (_jspxFactory !=null) _jspxFactory.releasePageContext(_jspx_page_context);

}

}

}

上面这段代码就是Simple.jsp所对应的Java代码,假如你的Tomcat安装路径为C:\Tomcat5.0,Web 应用程序发布的名称为chap4,那么可以在C:\Tomcat 5.0\work\Catalina\localhost\chapt4\org\apache\jsp这个目录下找到JSP所对应的Java文件和编译出来的类文件。

上面这段程序再本质上就是一个Servlet,把所有页面的显示的内容都用out对象打印出来,包括每个HTML标签,所以说JSP页面本质上就是Servlet的一个种化身,在JSP程序种离不开Servlet的影子。这段代码的具体语法可以不必深究,这些工作都是有服务器中的JSP编译器来完成,这个过程是自动完成的,无需手工干预。

注意:只用被请求过的页面才能生成对应的Java文件,当JSP页面被修改后,再次对这个页面进行请求才会重新生成对应的Java文件。

4.1.2 选择JSP的原因

在Web应用开发中,可供选择的动态页面语言技术有很多,例如PHP,ASP,JSP等,在这些动态页面语言中,JSP凭借其自身的优点成为开发人员最喜欢的语言之一。下面列出的几条就是开发人员钟爱JSP的重要原因。

JSP就是在HTML中嵌入Java代码,所以在本质上JSP程序就是Java程序,JSP程序继承了Java 的一切优点。JSP程序有严格的Java语法和丰富的Java类库支持。

JSP页面在服务器中都会被JSP编译器编译成对应的Servlet,所以就拥有Java跨平台的优点,所有的JSP程序,无需改动就可以方便地迁移到其他操作系统平台,这是在其他动态脚本语言中所无法想象的。

JSP中可以使用JavaBean进行逻辑封装,这样就可以实现逻辑功能代码的重用,从而大大提高系统的可重用性,同时也提高了程序的开发效率。

JSP程序容易上手,如果有HTML和Java的基本知识,那么学习JSP程序就没有任何难度。

在Java领域,开源的项目越来越多,这些开源项目是全世界Java爱好者的心血的结晶,在我们的JSP程序中可以非常方便地使用这些开源工具。在开源项目的支持上,JSP更是其他动态语言不能相比的。

开发者从对Java的热爱延伸到对JSP的热爱,同时JSP又是J2EE体系中最重要,而且有是最基础的一个组成部分,如果要体验J2EE带来的开发效率和优势,学习JSP是一个非常有效的入门方式。

在接下来的章节将开始进入JSP的精彩世界。

4.1.3 环境搭建

要运行JSP程序,必需为其提供一个JSP容器,也就是需要一个Web服务器。支持JSP的服务器非常多,Tomcat、Resin、Weblogic、WebSphere等对JSP的支持都非常好,但是由于Weblogic和WebSphere 都是功能非常强大的重量级服务器,而且价格昂贵,对计算机的硬件配置要求也比较高,所以在一般情况下,如果只用到JSP的技术,是没有必要选择这两个服务器的。

一般情况下我们可以选择Tomcat或者Resin作为JSP容器,这两个服务器对JSP的支持都非常好,而且都是开源的,可以免费使用,同时它们对计算机的硬件配置要求也是非常低的。这两个服务器任选其一都可以满足所有JSP开发的需要,在这里我们选择Tomcat作为JSP容器。

Tomcat的运行需要JDK的支持,所以在安装Tomcat的时候需要提前安装JDK,其中JDK的安装方法在本书第二章中有详细的介绍。

Tomcat是apache的一个开源项目,可以在其官方网站http://tomcat. https://www.doczj.com/doc/a813877728.html,下载Tomcat的各个版本,在这个网站上提供Tomcat各个版本下载,下载的文件格式有zip、tar.gz、exe三种格式,其中zip 格式只需要解压到某个目录,然后在环境变量中设置路径即可运行,这种方法比较灵活,但是环境变量设置错误Tomcat就不能运行。tar.gz格式是Unix、linux系统上的压缩格式。exe格式是Windows操作系统中的安装程序,这中格式的安装程序提供详细的安装向导,安装过程比较容易,在这里我们选择exe 的安装个格式。

(1)下载jakarta-tomcat-5.0.28.exe安装文件,运行这个文件就会进入如图4.1所示的安装界面。

(2)在图4.1中选择“Next”,进入如图4.2所示的安装协议界面。

图4.1 Tomcat安装初始界面图4.2 Tomcat安装协议选择界面

(3)在图4.2中选择“I Agree”进入如图4.3所示的组件选择界面,如果不接受协议安装程序就会退出。

(4)在如图4.3的界面中,可以选择安装Tomcat的组件,其中安装类型选择Normal即可,这时候下面的几个组件会被自动选中,然后选择“Next”就可以进入如图4.4的安装路径选择界面。

图4.3 Tomcat组件选择界面图4.4 Tomcat安装路径选择界面

(5)在如图4.4中选择Tomcat将要安装到的目标路径,选择“Next”进入如图4.5所示界面。

(6)在如图4.5的界面中,可以选择Tomcat的访问端口,可以采用默认端口是8080,在上面这个界面中还可以设置Tomcat管理员的用户名和密码,利用这个管理员账号可以管理Tomcat的一些运行配置等信息。端口和管理员账号设置完成后选择“Next”进入如图4.6所示的JVM选择界面。

图4.5 Tomcat端口选择和管理员密码设置界面图4.6 JVM选择界面

(7)在图4.6中的JVM路径不用选择,如果JDK已经正确安装配置的话,Tomcat的安装程序可以自从系统变量中读出这个路径,无需手动配置。选择“Install”开始安装,安装完成以后会出现如图4.7所示的安装完成界面。

图4.7 Tomcat完成安装提示界面

(8)在图4.7的界面中选择“Finish”完成安装。

(9)Tomcat的启动方式后好多中,最基本的是在Tomcat安装目录下的bin文件夹中的startup.bat、shutdown.bat,其中startup.bat可以启动Tomcat服务器,shutdown.bat可以关闭Tomcat服务器。运行startup.bat,如果可以看到如图4.8所示的启动信息说明Tomcat启动成功,

图4.8 Tomcat启动信息

(10)当看到如图4.8所示“Server startup in ****** ms”的时候说明Tomcat已经成功启动,打开浏览器,在地址栏中输入http://localhost:8080/,如果出现如图4.9所示的界面说明Tomcat已经成功安装。

(11)Tomcat还有一个图形界面的管理工具,选择“程序”|“所有程序”|“Apache Tomcat 5.0”| “Monitor Tomcat”,就会出现如图4.10所示的图形管理界面。

图4.9 Tomcat默认欢迎界面图4.10 Tomcat图形管理界面

(12)如图4.10的管理界面中,“General”选项卡中,“Start”可以启动Tomcat,“Stop”可以关闭Tomcat,“Pause”可以暂停Tomcat,“Restart”可以重新启动“Tomcat”。

(13)在“logging”选项卡中可以对Tomcat的日志信息进行配置,在“Java”选项卡中可以对JVM 进行配置。

注意:如果在启动Tomcat的过程中出现了“Address already in use: JVM_Bind”这个错误,则错误的解决方法有两种,一种是关闭其他正在运行的Tomcat程序,另一种解决方法就是修改Tomcat的端口,可以在Tomcat安装目录下的conf目录下找到server.xml的文件,在这个文件中搜索“

4.2 JSP基本语法

本书的重点内容是介绍基于JSP的Web开发技术,对于Java的语法在此不做详细的介绍,这里所涉及JSP语法指的是在JSP中所特有的语法规范,在接下来的章节中将假设读者已经了解Java的基本语法,只介绍JSP的结构、变量声名、表达式、动作、指令等JSP的特有语法。如对Java语法有疑问的读者可以参考相关语法书籍。

4.3 程序结构

JSP就是把Java代码嵌套在HTML中,所以JSP程序的结构可以分为两大部分:一部分是静态的HTML代码;另一部分是动态的Java代码和JSP自身的标签和指令;当JSP页面第一次被请求的时候,服务器的JSP编译器会把JSP页面编译成对应的Java代码,根据动态Java代码执行的结果,生成对应的纯HTML的字符串返回给浏览器,这样就可以把动态程序的结果展示给用户。下面就是一个简单的JSP程序的代码,现在分析其基本结构。

//--------文件名:Add.jsp--------------------

<%@ page language="java" import="java.util.*" pageEncoding="gb2312"%>

<%

int first =0;

int second =0;

if(request.getParameter("first")!=null&&request.getParameter("first").length()>0)

{

first =Integer.parseInt(request.getParameter("first"));

}

if(request.getParameter("second")!=null&&request.getParameter("second").length()>0)

{

second =Integer.parseInt(request.getParameter("second"));

}

%>

求和JSP程序示例

这个JSP页面的功能是求两个整数的和:

请输入第一个数:

请输入第二个数:

这两个数的和为:<%=(first+second) %>


在上面这个示例程序中,代码的结构是十分清晰的,至于这个程序的具体实现现在不必深究,在本章内容结束之后自然就会明白,现在只分析这个JSP程序的基本代码结构。

<%@ page language="java" import="java.util.*" pageEncoding="gb2312"%>

上面这行代码是一个JSP的 page指令,是JSP特有的指令。

<%

int first =0;

int second =0;

if(request.getParameter("first")!=null&&request.getParameter("first").length()>0)

{

first =Integer.parseInt(request.getParameter("first"));

}

if(request.getParameter("second")!=null&&request.getParameter("second").length()>0)

{

second =Integer.parseInt(request.getParameter("second"));

}

%>

上面这段代码是典型的Java代码片段,如果要在JSP页面中用到Java代码,只需要在<% %>这个标签中嵌入Java代码片段即可。

上面这段代码是典型的表单输入验证,这是JavaScript代码片段,和JSP无关,是属于客户端的语言。

这两个数的和为:<%=(first+second) %>

在上面这行代码中用到了JSP的输出标签,在HTML页面中直接输出<%=%>中表达式的值。这个程序中其他剩余的其他部分就是单纯的静态HTML代码。上面这个示例程序的运行结果如图4.11所示。

图4.11 求和JSP示例程序运行效果

4.4 JSP动作指令

在Web程序涉及中经常需要用到JSP的动作指令,例如在使用JavaBean的时候就离不开userBean 的指令,JSP的强大功能和它丰富的动作指令标签是分不开的。

在接下来的章节中将对这些指令进行详细的介绍,读者可以仔细体会每个动作的示例程序,在示例程序中掌握这些动作指令的基本用法。

4.4.1 include动作指令

include动作指令可以在JSP页面中动态包含一个文件,这与include指令不同,前者可以动态包含一个文件,文件的内容可以是静态的文件也可以是动态的脚本,而且当包含的动态文件被修改的时候JSP 引擎可以动态对其进行编译更新。而include指令仅仅是把一个文件简单的包含在一个JSP页面中,从而组合成一个文件,仅仅是简答的组合的作用。其功能没有include动作指令强大。

include动作指令的具体使用方法可以参考下面的示例程序。

//--------文件名:IncludeAction.jsp--------------------

<%@ page language="java" import="java.util.*" contentType="text/html;charset=gb2312"%>

include动作指令使用示例程序

这是一个JSP动作标签include的使用示例程序。

在上面这个程序中,用了两次include动作指令,第一次包含了一个静态的文本文件,第二次用include 指令包含了一个动态的JSP文件。include动作标签的使用格式如下。

在上面这行代码中,只需要指定page 的路径即可,即指明包含的文件为header.txt 其中header.txt 的内容如下。

//--------文件名:header.txt--------------------

这里用include 动作指令包含一个静态的文本文件。

在第二次使用include 的指令时包含了一个JSP 文件。

上面这行代码同样需要指明page 的值,即指明包含的文件为footer.jsp ,

其中footer.jsp 的内容如下。

//--------文件名:footer.jsp--------------------

<%@ page language="java" import="java.util.*" contentType="text/html;charset=gb2312"%> <%

out.print("这里用include 动作指令包含一个动态的JSP 页面!"); %>

上面这个示例程序的运行结果如图4.12 所示。

图4.12 include 动作指令示例程序运行效果

注意:在被包含的JSP 程序中,如果有所修改,JSP 引擎会及时发现,并重新编译。这就是include 动作指令与include 指令的最大不同。

4.4.2 forward 动作指令

forward 动作指令可以用来控制网页的重定向。即从当前页面跳转到另一个页面。 forward 动作的使用方法非常简单,具体使用格式如下。

在上面这行代码中,只要指明page 的值,当JSP 执行到这行代码的时候就可以直接跳转到对应的网页。forward 动作指令的具体用法可以参考下面的例子。

//--------文件名:Forward.jsp--------------------

<%@ page language="java" import="java.util.*" contentType="text/html;charset=gb2312" %>

forward 动作指令使用示例

上面这个页面运行以后就直接跳转到www.sohu.con 的主页面。

注意:forward动作指令和HTML中的超链接标签是不同的,在中只有单击链接才能实现页面跳转,在forward动作指令中一切都是可以用Java的代码进行控制,可以在程序中直接决定页面跳转的方向和时机。

4.4.3 param动作指令

在上面forward动作指令中可以用程序控制页面的跳转,如果需要在跳转的时候同时传递参数,这时候就需要用到param动作指令。param动作指令的具体使用方法可以参考下面的示例程序。

下面这个页面是初始页面,参数从这里开始传递。

//--------文件名:PassParam.jsp--------------------

<%@ page language="java" import="java.util.*" contentType="text/html;charset=gb2312"%>

页面跳转并且传递参数示例

从这个页面传递参数:

在上面这段程序中,把页面跳转到GetParam.jsp这个页面,同时向GetParam.jsp这个页面传递了一个名称为param的参数,这个参数的值为test。具体设置代码就是现面这段代码。

其中GetParam.jsp页面的代码如下。

//--------文件名:GetParam.jsp--------------------

<%@ page language="java" import="java.util.*" contentType="text/html;charset=gb2312"%>

页面跳转并且传递参数示例

这个页面接受传递过来的参数:

前一个页面传递过来的参数为:<%out.print(request.getParameter("param")); %>

在上面这个页面中,接受从PassParam.jsp这个页面传递过来的参数,并且把参数的值打印在页面上。上面这个跳转并且传递参数的示例程序运行效果如图4.13所示。

图4.13 页面跳转并且传递参数示例程序运行效果

注意:在这个示例程序运行的过程中,我们可以发现,在forward跳转并且传递参数的过程中,浏览器地址栏中的地址始终是不变的,传递的参数也不会在浏览器的地址栏中显示,这也是forward动作指令与HTML中超链接的另一个区别。

4.4.4 plugin动作指令

元素用于在浏览器中播放或显示一个对象(典型的就是applet和bean),而这种显示需要在浏览器的java插件。当jsp文件被编译,送往浏览器时,元素将会根据浏览器的版本替换成或者元素。

4.4.5 useBean动作指令

useBean动作指令可以在JSP中引用JavaBean,这个动作指令在实际开发过程中经常会用到。在第六章JavaBean的讲解过程中将对这个动作指令做详细的介绍。在这里我们仅仅知道其基本用法即可,而且在这里不在用示例程序说明。

useBean的使用格式如下。

其中id为所用到的JavaBean的实例对象名称,class是JavaBean对应类的包路径,包括包名和类名。scope是这个JavaBean的有效范围,共有page、request、session、application四个值可以选择。

4.4.6 setProperty动作指令

setProperty一般情况下是和JavaBean配合使用的,用来给JavaBean的实例对象进行赋值操作,setProperty的基本方法有以下两种。

上面这种方法是setProperty动作指令最基本的用法,用来给JavaBean实例对象的某一个属性赋值。

上面这种JavaBean的赋值方法也是经常用到的,这个方法可以给JavaBean实例对象的所有属性进行赋值,其中在JSP的页面请求中有对应与所有属性的输入,这些输入的名称与JavaBean的属性名一一对应,所以JSP引擎可以根据名称给对应的属性进行赋值。

setPorperty这个动作指令的具体使用方法将在第六章中详细介绍,在这里仅仅知道基本的使用形式即可。

4.4.7 getProperty动作指令

getProperty一般情况下也是和JavaBean配合使用的,用来取出JavaBean实例对象的属性值。这个动作指令的基本使用方法如下。

上面这行代码就可以取出JavaBean实例对象的一个属性值,至于getProperty这个动作指令更详细的使用方法,在第六章JavaBean的讲解中将有详细的实例介绍。

4.5 JSP指令

JSP的指令虽然没有动作指令那么丰富,但是其作用却是不容忽视的,例如page指令,在设置显示编码、引入类的包路径、设置错误页面等方面都是必不可少的。在接下来的章节中将介绍JSP的两个指令标签。

4.5.1 page指令

page指令可以用来定义JSP也面的全局属性。例如编码、错误页面等。page指令的属性很多,下面来具体介绍它的各个属性。

1.language

这个属性用来设置页面所使用的语言,对于JSP来说当然要选Java。具体设置方法如下。

<%@ page language="java" %>

2.import

import用来引入用到的包或者是类,这个属性的设置方法如下。

<%@ page import="java.util.*" %>

在上面这个行代码中,以引入java.util.*包为例展示了在JSP中引入包或者类的方法。

3.contentType

这个属性设置了JSP页面的MIME类型,对于还有中文的JSP页面可以按照下面这种方式设置。

<%@ page contentType="text/html;charset=gb2312" %>

经过这样的设置,页面显示编码方案设置为gb2312,这种编码格式可以正确显示中文。

4.session

设置在JSP页面中是否可以使用session对象,默认为true。

5.buffer

用来设置out对象缓冲区的大小,可以选择none、也可以设置为指定的大小,单位为KB。

6.autoFlash

当在JSP页面设置了可以使用缓冲区的时候,才可以设置这个属性,这个属性设置为true的时候,缓冲区一旦满了就会自动刷新。如果设置为false,缓冲区就满了以后就会报溢出错误。

7.isThreadSafe

设置当前JSP页面是否是线程安全的,默认是true,可以同时相应多个请求。

8.info

此属性设置当前JSP页面的描述信息,不常用。

9.errorPage

此属性设置错误处理页面,当页面出错的时候可以跳转到这个错误处理页面。

10.isErrorPage

设置当前页面是否为错误处理页面,默认为false。

4.5.2 include指令

include指令可以在当前的JSP页面中包含一个文件,从而和当前页面组成一个整体的文件。这中包含仅仅是静态包含。

include指令的具体使用方法实例如下。

//--------文件名:Include.jsp--------------------

<%@ page language="java" import="java.util.*" contentType="text/html;charset=gb2312"%>

include指令使用示例程序

这是include指令的使用示例程序。

<%@ include file="inc.txt"%>

在这个页面中静态引入了一个文件inc.txt,其中inc.txt的内容如下。

//--------文件名:inc.txt--------------------

<%@ page language="java" import="java.util.*" contentType="text/html;charset=gb2312"%>

这是一个简单文本文件

上面这个程序的运行结果如图4.14所示。

图4.14 include指令实例程序运行效果

4.6 JSP内置对象简介

JSP内置对象即无需声名就可以直接使用的对象实例,在实际的开发过程中,比较常用的JSP内置

对象有reqest、response、session、out、application等,在接下来的章节中将详细介绍这几个JSP内置对象的使用方法。JSP其他的几个内置对象在实际的开发中并不十分常用,在这里不做具体介绍。

4.7 request对象

request对象代表这从用户发送过来的请求,从这个对象中间可以取出客户端用户提交的数据或者是参数。这个对象只有接受用户请求的页面才可以访问。

4.7.1 request对象使用场合

如果要与用户的互动,必须要知道用户的需求,然后根据这个需求生成用户期望看到的结果。这样才能实现与用户的互动。在Web应用中,用户的需求就抽象成一个request对象,这个对象中间包括用户所有的请求数据,例如通过表单提交的表单数据,或者是通过URL等方式传递的参数,这些就是用户的需求。request正是用来收集类似这些用户的输入数据和参数。

同时,request对象中还包括一些服务器的信息,例如端口、真实路径、访问协议等信息,通过request 对象可以取得服务器的这些参数。

4.7.2 request对象主要方法

request对象的方法非常多,在这里我们只介绍其中最常用的几种方法,其他方法可以参考相关类库的介绍。

1.getAttribute(String name)

这个方法可以取出指定名称的这个属性的值,这个属性可以用setAttribute(String name,Object o)这个方法进行赋值,如果没有对这个属性赋值的话取值的操作返回null。

2.getContexntPath()

这个方法可以获取的服务器上下文路径。

3.getCookies()

这个方法可以取出客户端的Cookies。

4.getHeader(String name)

这个方法可以取得指定名称的HTTP报头的属性值。

5.getParameter(String name)

这个方法可以取出客户端提交到服务器的参数。

6.getServerName()

这个方法可以取得服务器的名称

7.getServerPort()

这个方法可以取得服务器的访问端口。

8.setAttribute(String name,Object o)

这个方法对指定名称的属性进行赋值。

9.removeAttribute(String name)

这个方法可以移除指定名称的一个属性。

10.getRemoteAddr()

这个方法返回客户端机器的IP地址。

下面是这些方法的调用实例。

//--------文件名:Request.jsp--------------------

<%@ page language="java" import="java.util.*" contentType="text/html;charset=gb2312"%>

request主要方法调用示例

request主要方法调用示例:

<%

request.setAttribute("attr","Hello!");

out.println("attr属性的值为:"+request.getAttribute("attr")+"
");

out.println("上下文路径为:"+request.getContextPath()+"
");

out.println("Cookies:"+request.getCookies()+"
");

out.println("Host:"+request.getHeader("Host")+"
");

out.println("ServerName:"+request.getServerName()+"
");

out.println("ServerPort:"+request.getServerPort()+"
");

out.println("RemoteAddr:"+request.getRemoteAddr()+"
");

request.removeAttribute("attr");

out.println("属性移除操作以后attr属性的值为:"+request.getAttribute("attr")+"
");

%>

在这个程序中对request常用的方法进行展示,其他方法的使用和这些基本的方法类似。可以参考这些例子进行尝试。上面这个示例程序的运行结果如图4.15所示。

图4.15 request对象主要方法调用示例运行效果

4.7.3 request 对象使用示例

1.使用request 对象取得表单数据

request 获取用户数据的一个主要方式就是获取表单数据,下面是一个简单的表单,在这里为了方便说明,我们在把表单提交个这个页面自身,并在这个页面中取出提交的表单的数据。

//--------文件名:

Form.jsp--------------------

<%@ page language="java" import="java.util.*" contentType="text/html;charset=gb2312"%>

request 获取表单数据示例 下面是表单内容:

用户名:

密 码:

下面是表单提交以后用request 取到的表单数据:

<%

out.println("表单输入userName 的值:"+request.getParameter("userName")+"
"); out.println("表单输入password 的值:"+request.getParameter("password")+"
"); %>

在上面这个程序中,当然可以把表单提交给其他的页面,那样只需把接受参数的方法放在对应的页面即可。在这里只是为了方便展示问题的才提交给页面自身。上面这个程序的运行结果如图4.16所示。

图4.16 request 获取表单数据示例程序运行效果

2.使用request 对象取得页面传递的参数

在实际的开发过程中,经常遇到这样的情景,在页面跳转中需要添加相对应的参数。例如在在论坛

中需要参看一条帖子的时候,单击链接会进入一个新页面,在新页面中显示帖子的内容,这个操作过程即需要把帖子的编号传到新页面。

对与参数的处理我们还是采用request 来处理,下面的例子就展示了如何使用request 对象来获取参数的值。

//--------文件名:

URL.jsp--------------------

<%@ page language="java" import="java.util.*" contentType="text/html;charset=gb2312"%>

request 对象取得页面传递参数示例

<%

String param = request.getParameter("param"); %>

请单击这个链接
你提交的参数为:<%=param%>

在这个页面中我们同样把参数传递给这个页面自身,道理和前面表单的处理是一样的。读者也可以尝试参考这个例子把参数传递到一个不同的页面。这个程序运行的结果如图4.17所示。

图4.17 request 对象取得页面传递参数示例程序运行效果

4.8 response 对象

response 对象是服务器端向客户端返回的数据,从这个对象中间可以取出一部分与服务器互动的数据和信息。只有接受这个对象的页面才可以访问这个对象。

4.8.1 response 对象使用场合

既然用户可以对服务器发出请求,服务器就需要对用户的请求做出反应。这里服务器就可以使用response 对象向用户发送数据。response 是对应request 的一个对象。

如果需要获取服务器返回的处理信息,就可以对response 进行操作,同时当服务器需要再客户端进行某些操作的时候也需要用到response 对象,例如服务器要在客户端生成Cookies ,那么这时候response

对象就是一个很好的选择。

4.8.2 response对象主要方法

response的方法也很多,但是常用的也就其中的几个,下面介绍比较常用的几个方法。

1.addCookie(Cookie cookie)

这个方法可以添加一个Cookie对象,用来保存客户端的用户信息。

2.containsHeader(String name)

这个方法判断指定的头信息是否存在。

3.encodeRedirectURL(String url)

这个方法可以对URL进行进行编码。

4.encodeURL(String url)

这个方法可以对URL进行进行编码。

5.flushBuffer()

这个方法可以清空缓存的内容。

6.sendError(int error)

这个放发可以向客户端浏览器发送错误代码。如500为服务器内部错误。

7.sendRedirect(String location)

这个方法可以把当前页面转发到其他的页面,实现页面的跳转。

4.8.3 response对象使用示例

response的用法很多,在这里我们用response来实现一个页面的重定向,具体的代码如下。

//--------文件名:Redirect.jsp--------------------

<%@ page language="java" import="java.util.*" contentType="text/html;charset=gb2312"%>

response对象页面重定向示例

<%

response.sendRedirect("https://www.doczj.com/doc/a813877728.html,");

%>

上面这个页面运行的时候直接重定向到https://www.doczj.com/doc/a813877728.html,的首页。

4.9 session对象

session对象维护着客户端用户和服务器端的状态,从这个对象中间可以取出用户和服务器交互的过程中的数据和信息。这个对象在用户关闭浏览器离开Web应用之前一直有效。

4.9.1 session对象使用场合

session对象中保存的内容是用户与服务器整个交互过程中的信息,如果是想在整个交互的过程中都可以访问到的信息,就可以选择存放在session对象中。

例如在用户登录的过程中,可以在session中记录用户的登录状态,这样用户就不必在每个页面都重新登录,只要用户没有离开当前的Web应用系统,就可以一直保存登录的状态。

4.9.2 session对象主要方法

session所提供的方法并没有前面几个内置对象那么多,但是基本都是非常常用的。

1.getAttribute(String name)

这个方法可以获取指定属性的值。

2.getCreationTime()

这个方法可以获取session对象创建的时间。

3.getLastAccessedTime()

这个方法可以获取session对象上次被访问的时间。

4.invalidate()

这个方法可以失session对象失效。

5.removeAttribute(String name)

这个方法可以移除指定的属性。

6.setAttribute(String name,Object value)

这个方法可以给指定名称的属性赋值。

4.9.3 session对象使用示例

在这里我们模拟一个简单的用户登录动作,在这个示例程序中,我们不对提交的登录信息做具体的验证,只要用户名和密码都不为空就可以登录系统,这样处理只是为了方便展示session的使用方法,在具体的开发中必须要对登录信息进行验证的。

这个登录注册的示例程序代码如下。

//--------文件名:Login.jsp--------------------

<%@ page language="java" import="java.util.*" contentType="text/html;charset=gb2312"%>

用户登录界面

《JSP程序设计》复习提纲

《JSP程序设计》复习大纲 第一部分期末考核说明 一、期末考试要求 考核学生是否掌握软件工程的基本概念,能否较熟练运用各知识点来创建一个完整的软件工程。具体考核要求分为以下几个层次: ●了解:要求学生能够了解各部分基础知识和概念。 ●掌握:要求学生能够灵活运用各知识点来编写基本程序。 二、组卷原则 ●在教学大纲和考核说明所规定的内容和要求范围之内命题;按照理论联系实 际的教学原则,考察学生对所学知识的理解、应用能力;试题不会超出教学 大纲的要求。 ●试题的覆盖面广,并适当突出重点。 ●对理论知识及应用能力的考核,要求掌握的约占40%,理解的约占 40%,了 解的约占20%。 ●试题的难度和题量适当,按难易程度分为四个层次:容易约占40%、较容易 约占30%、较难约占20%、难约占10%。题量适中。 三、试题类型 选择题(45分) 填空题30分) 程序题25分) 四、考核形式 考试采用笔试、闭卷考试。 五、答题时限 答题时间为120分钟。 第二部分考核的内容和要求 第一章 JSP概述 1.考核目的 什么是JSP 2.考核的知识点

●JSP的技术原理 3.考核要求 第二章 JSP动态网页设计基础 1.考核目的 考核学生是否较掌握了HTML,JA V ASCRIPT 2.考核的知识点 ●HTML中一些常用的标记符,特别是表单 ●JavaScript的语法 3.考核要求 HTML和JavaScript的基础知识 第三章 JSP的开发和运行环境 1.考核目的 掌握JSP的环境配置 2.考核的知识点 掌握安装TOMCA T和MyEclipse并在MyEclipse配置TOMCA T 3.考核要求 JSP文件的运行 第四章JSP脚本元素 1.考核目的 考核学生是否掌握JSP中的三种脚本元素。 要求学生掌握在JSP页面内使用JSP指令标签和动作标签 2.考核的知识点 ●掌握JSP声明 ●掌握JSP表达式 ●掌握JSP脚本程序 3.考核要求 能够在JSP文件中使用三种脚本元素,JSP动作元素 第五章JSP内置对象 1.考核目的 考核学生是否了解掌握JSP常用对象 2.考核的知识点 ●Request 对象 ●Response 对象

jsp实训个人总结

jsp实训个人总结 最近发表了一篇名为《jsp实训个人总结》的范文,好的范文应该跟大家分享,重新编辑了一下发到。篇一:JSP实训总结 JSP程序设计实训总结 班级:软件技术姓名:张*** 学号:113230**** 在这一周JSP程序设计的实训的时间里,实训老师针对我们本学期的学习,有针对性地对我们进行了很有价值的实训工作,从最基础的JSP程序设计中的界面设计,到一般的JSP程序设计中的查询,添加,修改等语句,给我们细心讲解,虽然JSP程序设计的课已经学习了一个学期了,但对其简单的知识点运用的都不是很熟练,没能真正去融会贯通。 通过本次课程设计,我感受颇多,尽管上课时也认真听了老师的讲课,但是已开始面对自己的题目时,还是有些不知所措,都不知道如何下手,后来去图书馆借了几本相关的书籍,心里在感觉有了一些底。不过,经过为期一周的针对性实训,我学到了很多知识,把以前学的所有知识点都贯穿到一起,又温习了一遍,让我们能从真正意义上了解到JSP程序设计的用处,总算还是收获不少,对jsp 的认识也更加的深刻了。在这个过程中,我感觉就像人生的一个缩影,充满了酸甜苦辣。当一个问题想了好久也无法解决时,范文写作我感到沮丧与无助。当经过努力解决了一个程序上的难题时,我感到无比的喜悦。当经过每天为了编写代码一坐就是四五个小时,我感到无比的痛苦。但艰难痛苦已成往事,灿烂的明天向我走来,今天我总算迎接了胜利的果实,以前的辛酸与痛苦化作我坚强的力(来自jsp实训个人总结)量,将在我将来的人生历程中,为我的美好明天打下坚实的基础。经过了这次磨练,我又一次感受到只有付出才能有收获,成功永远是属于不懈努力的人们的。 篇二:JSP实训心得体会

JSP习题100道

第1章Java Web应用概述 1、有哪些常见的应用服务器? 2、Servlet与JSP的相同点有哪些?不同点有哪些? 3、什么是Web应用? 4、B/S结构与C/S结构有什么区别? 5、Web服务器与应用服务器的区别是什么? 6、Tomat是否具有Web服务器的作用? 7、在Web应用中能否实现这样的功能,在每个整点向客户端发送一条消息? 第2章简单的Web应用实例 1、Java Web开发需要安装什么样的运行环境? 2、谈谈JSP的运行原理? 3、谈谈Servlet的运行原理? 4、Servet与JavaBean有什么区别? 5、Servlet与JSP有什么区别? 6、假设Web应用所在的主机的IP地址为192.176.17.33,Web服务器的端口为8848,应用的名字是myweb,在应用的跟目录中有一个userlist.jsp文件,如果想在客户端访问该文件,需要在浏览器地址栏中输入什么?

7、Web应用的配置文件web.xml存放在什么位置? 8、Web应用的主要作用什么? 9、描述Web应用的文档结构。 10、如何启动Tomcat。 11、在Web应用中编译后的文件放在什么地方? 12、在Web应用中JSP文件放在什么位置? 13、在MVC模式中MVC分别表示什么? 第3章输入 1、在注册功能中,性别采用的是单选按钮,能否可以采用输入框输入?为什么没有采用输入框输入? 2、按钮中的button和submit有什么区别? 3、下面的说法哪个正确? A、重置按钮的作用是把所有输入信息清空; B、重置按钮的作用是把所有输入信息恢复到默认值。 4、编写一个图书信息添加界面,要添加的信息包括:书号、书名、出版社、出版时间、作者、定价、目录和前言等。 5、在第一题的基础上,对界面中的各个输入框进行验证,要求使用JavaScript相关方法验证的要求如表所示。 6、要求与第2)题相同,验证过程采用正则表达式完成。

jsp考试知识点

《Java Web程序设计》练习题 一、填空题 1、JDBC对数据库的操作通过5个JDBC的类/接口来实现,它们是:DriverManager 、Statement、Connection、ResultSet和Class。 2、JSP 的英文全称是Java、 Srever 、Page。 3、JSP指令元素主要有3种类型的指令,即include、taglib和page。 4、在JSP中提供了_9_个内置对象,分别是request对象、response对象、out 对象、session对象、pageContext对象、exception对象、cofig对象、page对象和application对象。 5、在提交表单时有两种不同的提交方法,分别是POST和get。 6、在JSP中实现客户端和服务器的会话可使用session实现。 7、每过10分钟自动刷新的JSP语句是:response.setHeader(“refresh”,”600”)。 8、ResultSet类的.next( ) 方法可以移动记录指针到下一条记录。 9、在JSP中使用 标记来访问JavaBean。 10、在标记中,有一个scope属性,它是用来设定JavaBean 存在的范围。scope属性一分别为page、request、session和application。 11、JDBC是Java DataBase Connectivity的缩写,它的中文名称是java数据库连接技术。 12、JSP页面组成元素中,除了可以包含静态内容(html、js、css)外,还可以包含:JSP指令、j、脚本元素、动作、注释等。 13、异常的处理,可在该方法的代码段中包含 3类代码: try 、catch和finally 块。

《Java编程基础知识点汇总及习题集》--答案

目录 第一章 Java入门 (2) 第二章 Java基础 (5) 第三章条件转移 (16) 第四章循环语句 (22) 第五章方法 (28) 第六章数组 (35) 第七章面向对象 (44) 第八章异常 (65)

第一章Java入门 知识点汇总 1、JAVA 三大体系 ?Java SE:(J2SE,Java2 Platform Standard Edition,标准版),三个平台中最核心 的部分,包含Java最核心的类库。 ?JavaEE:(J2EE,Java 2 Platform, Enterprise Edition,企业版),开发、装 配、部署企业级应用,包含Servlet、JSP、 JavaBean、JDBC、EJB、Web Service等。 ?Java ME:(J2ME,Java 2 Platform Micro Edition,微型版),用于小型电子设备 上的软件开发。 2、JDK,JRE,JVM的作用及关系 作用 ★JVM:保证Java语言跨平台 ★JRE:Java程序的运行环境 ★JDK:Java程序的开发环境 关系 ★JDK:JRE+工具 ★JRE:JVM+类库 3、JDK环境变量配置 ?path环境变量:存放可执行文件的存 放路径,路径之间用逗号隔开 ?classpath环境变量:类的运行路径, JVM在运行时通过classpath加载需要 的类 4、重点掌握两个程序 ?javac.exe:Java编译器工具,可以将编 写好的Java文件(.java)编译成Java 字节码文件(.class); ?java.exe:Java运行工具,启动Java虚 拟机进程,运行编译器生成的字节码 文件(.class) 5、一切程序运行的入口 public static void main(String args []){ System.out.println(“Hello World!”); } 课堂笔记

《JSP实用教程(第三版)》课后答案综述

《JSP实用教程(第三版)》课后答案 第1章 JSP简介 1.安装Tomcat引擎的计算机需要事先安装JDK吗? 答:需要。 2.怎样启动和关闭Tomcat服务器? 答:bin目录下使用startup.bat启动Tomcat服务器。bin目录下使用shutdown.bat 关闭Tomcat服务器。 3. Boy.jsp和boy.jsp是否是相同的JSP文件名字? 答:不是 4. 请在D:\下建立一个名字为water的目录,并将该目录设置成一个Web服务目录,然后编写一个简单JSP页面保存到该目录中,让用户使用虚拟目录fish 来访问该JSP页面。 答:设置方法: ①建立D:\ water目录; ②修改server.xml文件,在上一行添加: ③使用http://localhost:8080/ fish /example1_1.jsp访问example1_1.jsp页面. 5. 假设Dalian是一个Web服务目录,其虚拟目录为moon。A.jsp保存在Dalian 的子目录sea中。那么在Tomcat服务器(端口号8080)所在计算机的浏览器键入下列哪种方式是访问A.jsp的正确方式? A.http://127.0.0.1:8080/A.jsp B. http://127.0.0.1:8080/Dalian/A.jsp C. http://127.0.0.1:8080/moon/A.jsp D. http://127.0.0.1:8080/moon/sea/A.jsp 答:D 6.如果想修改Tomcat服务器的端口号,应当修改哪个文件?能否将端口号修改为80? 答:修改Tomcat服务器的conf目录下的主配置文件server.xml可以更改端口号. 若Tomcat服务器上没有其它占有80端口号的程序,可以将其修改为80,否则不能。

“jsp基础知识”单元习题

“JSP基础知识”单元习题 10.布尔类型、整数类型、字符类型和浮点类型 11. 组类接口 12. 隐性转换强制转换 13.静态网页动态网页14.数据库 15.J2SDK+Tomcat J2SDK+Apacher+Tomcat J2SDK+IIS+Tomcat 16.Path CLASSPATH 17.H 18.JCreator Eclipse Dreamweaver 19. 20.Tomcat Apache IIS 21.Gb2312 程序片段(Scriptlet) 23.静态 web 24.动态 web 25.CGI 26.JSP开发工具 一、填空题 1.Tomcat 服务器的默认端口是__8080__________。 2.异常的处理,可在该方法的代码段中包含 3类代码: try____________、___catch_________和 _____finally_______代码块。

3.JSP 文件最终会转换为servlet____________文件。 4.在 JSP 文件中汉字所使用的编码机制是 ____iso-8859-1_________。 5. JSP 的实质是__servlet______________________。 的英文全称是________________________。 7.电子商务的开发标准是 ______EJB+SERVLET+JSP__________________。 预加载的类名是.* .* ________、____________、____________和____________。 的数据类型分为两种,它们分别是____________和____________。基本类型包括_布尔___________、____整数________、______字符______和______浮点______。 引用类型包括____________、____________和____________。 中类型之间有两种转换方法:____________和____________。13.____________的内容是相对固定的,而____________的内容会随着访问时间和访问者发生变化。

jsp考试知识点

j s p考试知识点 https://www.doczj.com/doc/a813877728.html,work Information Technology Company.2020YEAR

《Java Web程序设计》练习题 一、填空题 1、JDBC对数据库的操作通过5个JDBC的类/接口来实现,它们是:DriverManager 、 Statement、Connection、ResultSet和Class。 2、JSP 的英文全称是Java、 Srever 、Page。 3、JSP指令元素主要有3种类型的指令,即include、taglib和page。 4、在JSP中提供了_9_个内置对象,分别是request对象、response对象、out对象、 session对象、pageContext对象、exception对象、cofig对象、page对象和application 对象。 5、在提交表单时有两种不同的提交方法,分别是POST和get。 6、在JSP中实现客户端和服务器的会话可使用session实现。 7、每过10分钟自动刷新的JSP语句是:response.setHeader(“refresh”,”600”)。 8、ResultSet类的.next( ) 方法可以移动记录指针到下一条记录。 9、在JSP中使用 标记来访问JavaBean。 10、在标记中,有一个scope属性,它是用来设定JavaBean存在的范围。 scope属性一分别为page、request、session和application。 11、JDBC是Java DataBase Connectivity的缩写,它的中文名称是java数据库连接技术。 12、JSP页面组成元素中,除了可以包含静态内容(html、js、css)外,还可以包含:JSP指 令、j、脚本元素、动作、注释等。 13、异常的处理,可在该方法的代码段中包含 3类代码: try 、catch和finally 块。 14、JSP的三个指令中,定义整个JSP页面属性的是page指令,实现静态包含的是include 指令,库的是taglib指令。

JSP学习心得

学习JSP程序设计心得体会 满怀期待的等待 在去年暑假得知自己被录取到了武汉科技学院经济管理学院信息管理与信息系统专业的那天起我就与信管这个专业结下不解之缘。但是当时我并不知道信管这个专业是干嘛的,也是第一次听到这个专业,得知自己的专业被调剂了心里还是感觉挺失落的,后来就上网去查关于这个专业的一些介绍。 “信息管理与信息系统专业业务培养目标:信息管理与信息系统专业培养具备现代管理学理论基础、计算机科学技术知识及应用能力,掌握系统思想和信息系统分析与设计方法以及信息管理等方面的知识与能力,能在国家各级管理部门、工商企业、金融机构、科研单位等部门从事信息管理以及信息系统分析、设计、实施管理和评价等方面的高级专门人才。” 当时看到上面关于信管专业的培养目标,我觉得这个专业还是挺好的,所以满怀期待的等待快点开学。 学习心路 现在我已经是大二学生了,学信管专业也已经有一年多了,在大一的两门基础专业课的学习中我觉得好枯燥啊,学习C语言跟JA VA,但是这个学期我们开了JSP课程设计,没上课之前听学长学姐们说这门课是教我们怎么做网站的,我就想总算可以自己做网站了,从此结束了只是学习枯燥的语言的日子了。 记得在第一节课上,陈老师就跟我们讲了“为什么学JSP?”,“JSP学什么?”,“学JSP有什么用?”还有“如何学JSP?”从老师对这些问题的讲解中我确实体会到了学习JSP的重要性和如何去学。在课上还了解了这门课程老师要讲述的主要内容以及需要具备的相关知识。在老师所要求的具备的基础知识中我

在JA VA上是最欠缺的,之前也只是跟着老师学,自己在课下并没有下很多功夫。 在前阶段的学习中我感觉很轻松,因为老师讲到的HTML我已经在暑假自学的差不多了,所以做一个静态的页面还是没有多大问题,但是后来学到后面要用到JA VA做一些动态的网页就感觉越来越吃力了,之前学过的很多JA VA知识也有很多都已经忘了。所以在第一次实验报告的完成中就用到了比较长的时间,最后才能勉强做到符合老师的要求。有了第一次实验报告完成过程中的教训,我在后面赶紧复习之前学习的JA VA知识,但是毕竟过了挺久了,有些东西需要重头再学,所以大概花了一个多月的时间才将这学期JSP课程中所掌握的一些关于JA VA的东西搞清楚。后来也就顺利的完成了后面的两次实验报告。 学到了什么 我想简单的谈谈我在JSP程序设计这门课中都学到了什么,JSP的全称是Java Server Pages,它是一种动态网页技术。我们需要配置的坏境有JDK,Tomcat,还要用到Dreamweaver。最开始我们学习了HTML这种文本标记语言,因为在暑假的时候有自学,所以学习起来感觉很轻松,用HTML可以做一些静态网站,在我第一次用HTML做出第一个网页时我真的好高兴啊,觉得好神奇啊!后面我们学到做动态网站,其中就涉及到JSP内部对象及内部对象所对应的一些方法。再就是JSP与数据库的联系,怎么样引用数据库。通过以上所学到的知识我们可以基本上上做出一个比较实用的小网站,比如一个班级网站,在上面可以上传下载一些学习资料,以及存储班上同学的一些基本信息,给班上同学提供一个交流平台等等。这也是我在接下来的程序设计中所想完成的任务。 学习反思 从这一年多的学习中,我觉得自己在专业课的学习上还存在很多不足,比如

JSP程序设计与项目实训教程(第2版)课后习题答案

第1章Web技术简介 1.7 习题 1.7.1 选择题 1. Web技术的设想于哪一年提出()。 A.1954年 B.1969年 C.1989年 D.1990年 2. JSP页面在第一次运行时被JSP引擎转化为()。 A.HTML文件 B.CGI文件 C.CSS文件 D.Servlet文件 3. JavaEE体系中Web层技术是()。 A.HTML B.JavaBean C.EJB D.JSP 参考答案:1.C 2.D 3.D 1.7.2 填空题 1.当前主流的三大动态Web开发技术是:PHP、ASP/https://www.doczj.com/doc/a813877728.html,和______________。 2. JSP的两种体系结构是:______________和______________。 3. JSP开发Web站点的主要方式有:直接JSP、JSP+JavaBean、______________、______________和SSH。 参考答案: 1.JSP 2.JSP Model1和JSP Model2 3.JSP+JavaBean+Servlet、J2EE/JavaEE 1.7.3 简答题 1. 简述JSP的工作原理。 答:所有的JSP应用程序在首次载入时都被翻译成Servlet文件,然后再运行,这个工作主要是由JSP引擎来完成。当第一次运行一个JSP页面时,JSP引擎要完成以下操作: ●将JSP文件翻译成Servlet文件,Servlet文件是Java应用程序。 ●JSP引擎调用Java编译器,编译Servlet文件得到可执行的代码文件(.class文件)。 ●JSP引擎调用Java虚拟机解释执行.class文件,并将运行结果返回给服务器。 ●服务器将运行结果以HTML形式作为响应返回给客户端的浏览器。 由于一个JSP页面在第一次被访问时要经过翻译、编译和执行这几个步骤,所以客户端得到响应所需要的时间比较长。当该页面再次被访问时,它对应的.class文件已经生成,不需要再次翻译和编译,JSP引擎可以直接执行.class文件,因此JSP页面的访问速度会大为提高。 2. 简述JSP两种体系结构。

Javaee知识点总结

1、Javaee是一个标准,是一个为企业应用式开发的提供的标准平台。Javaee的优势:克 服了传统c/s模式的弊端,迎合b/s架构的潮流,为应用java技术开发服务器端应用提供一个平台独立的、可移植的、多用户的、安全的和机遇标准的企业级平台,从而简化企业应用的开发、管理和部署。 2、JAVAEE能做开发企业门户网站,开发企业内部网站,开发分布式系统,开发云计算平台 的应用程序。 3、B/S架构:即浏览器和服务器架构 4、C/S架构:客户端和服务器架构 5、C/S的优点:能充分发挥客户端PC的处理能力,很多工作可以在客户端处理之后在提交 给服务器,由此客户端的响应速度很快。 6、C/S的缺点:只适用于局域网,客户端需要安装专用的客户端软件,对客户端的操作系 统一般也有限制。 7、四种优先级从高到低:行内样式,内嵌样式,链接样式,写入样式 8、HTML是一种超文本标记语言。H是Hypertext,M是Marked,L是Language。超文本是 指除了文字还有音频视频图像等等。 9、常用的6 中HTML标签:

form> 10、table标签由等构成。 11、
标签构成:表单基本形式 6种表单控件:type=text/submit/password/radio/checkbox/image 12、get,post的区别:get的长度有限而且会在地址栏显示,不安全;Post长度无限 制且安全 13、css层叠样式表,用于布局和美化网页。 14、css的穿件及使用方法:外部:css,内部:html,内联:放在文件的开始 15、css语法:选择器的声明,声明名字值。声明要用;隔开 16、id选择符和class 选择符:id=’’/class=’’/# 17、div是一个块,盒子。 18、js是一种脚本语言,可以直接嵌入到html中被浏览器解释执行。 19、js和java的区别:js弱变量,过程解释执行;java强变量,编译链接执行。 20、JDBC基本步骤:建立驱动,建立连接对象,在连接对象上创建命令对象statement, 执行sql语句,关闭连接 21、JS变量定义:命名时,只包含数字、字母或下划线,要以字母开头,不能使用JS 保留字,要区别大小写 22、JS定义函数:在JS函数中使用function关键字,不管有没有返回值都没有返回 值类型。 23、JS无返回值函数,函数体中不使用return关键字 24、JS有返回值的函数,函数体中使用return关键字 25、通过使用JDBC可以很方便的将sql语句传送给任意数据库 26、一般下载的驱动是.jar为扩展名,要将这个文件包含在classpath中或者在 myeclipse中将驱动程序添加到工程中 27、url:一级协议:二级协议://IP地址:端口号/数据库名 28、URL互联网标准资源地址 29、sql默认端口3306 30、在JDBC中连接数据库中执行数据库之后所得到的数据均放在结果集ResultSet

JSP复习题

JSP复习题 一、选择题 1、JSP页面经过编译之后,将创建一个(B)。 A. applet B. servlet C. application D. exe文件 2、在JSP中,( A )动作用于将请求转发给其他JSP页面。 A.forward B.include https://www.doczj.com/doc/a813877728.html,eBean D.setProperty 3、对于声明<%!声明%>的说法错误的是:C A、一次可声明多个变量和方法 B、一个声明仅在一个页面中有效 C、声明的变量将作为局部变量 D、声明的变量将在JSP页面初始化时初始化 4、当多个用户请求同一个JSP页面时,Tomcat服务器为每个客户启动一个(B) A、进程 B、线程 C、程序 D、服务。 5、阅读下面代码片段: RequestDispatcher dispatcher=request.getRequestDispatcher("a.jsp"); dispatcher.forward(request,response); 关于该段代码的作用,下列叙述哪项是正确的?( B ) A、页面重定向到a.jsp页面 B、将请求转发到a.jsp页面 C、从a.jsp定向到当前页面 D、从a.jsp转发到当前页面 6.(A)注释可以在服务器和客户端都可见。 A.HTML B.JSP C.JavaScript D.page 7、以下对象中的(D )不是JSP的内置对象。 A、request B、session C、application D、bean 8、对数据库表中记录的字段值进行更新,可以使用(B )方法 A、executeQuery() B、executeUpdate() C、next() D、getConnection() 9、下面哪一项对Servlet描述错误?( C ) A. Servlet是一个特殊的Java类,它必须直接或间接实现Servlet接口 B. Servlet接口定义了Servelt的生命周期方法 C. 当多个客户请求一个Servlet时,服务器为每一个客户启动一个进程 D. Servlet客户线程调用service方法响应客户的请求 10、以下哪个对象提供了访问和放置页面中共享数据的方式(D) A、pageContext B、response C、request D、session 2、当服务器上的第一个JSP页面被第一次请求执行时,服务器上的JSP引擎首

JSP复习

题型 一、单项选择题(共10分) 二、填空题(共15分) 三、判断题(共10分) 四、简答题(共30分) 五、设计题(共35分) 考试范围 1-7章 重点4//5/6 复习基础:每章习题,每章实训 知识点 ●Tomcat和Eclipse的使用 ●JSP的基本元素、工作流程 ?JA V A程序片<% %> ?JSP表达式<%= %> ●JSP指令标记<%@ page contentType=”” import=””> ?指令标记中常用属性的含义 ●JSP动作标记 ?

id=””> ●表单的设计方法、表单元素、表单的提交 ?几种常用的表单元素怎么写 ?Form的action属性,post/get方法都有什么用 ●JSP内置对象常用格式和常用方法、作用范围(生命周期) ?request/response/out/session/application ?getParameter, sendRedirect, setAttribute, getAttribute等 ●Javabean的概念、编写、动作标记、作用范围 ?用<%@ page import=” *”>导入 ?的格式、各属性和用法 ?< jsp:setProperty name=”abc” property=”*”/ >value属性没写 ?< jsp:getProperty name=”abc” property=”name”/ > ●Servlet的概念、编写、调用的典型代码、常用方法 ?如何设置web.xml部署文件,里面的标签有什么含义,应该怎么写 ?Service();doPost();doGet(); ?在Servlet创建并调用javabean ?Userbean ur=new Userbean(); ur.check(); ur.setName(“name”); ●MVC模式的概念、实现JSP+Javabean+Servlet ?三个模块各自完成什么功能?V:与用户互动;C:流程控制;M:数据 存储与业务逻辑

JSP要点知识整理

Jsp技术整理 1.web 分为静态页面和动态页面 静态页面-----html页面 动态页面----动态页面是以ASP、PHP、JSP、Perl、或CGI等编程语言制作的,与服务器有交互的页面。 (动态页面技术通常会用到web容器) Web容器 使用运行在服务器上的一个程序,用来解析动态请求,然后调用相应的代码,返回响应。 对于jsp来说,使用最多的是tomcat 2.servlet Servlet是一种服务器端的Java应用程序,具有独立于平台和协议的特性,可以生成动态的Web页面。它担当客户请求(Web浏览器或其他HTTP客户程序)与服务器响应(HTTP 服务器上的数据库或应用程序)的中间层。 Servlet创建时会写入web.xml 示例: loginServlet loginServlet /login 路径问题: 在我们编写代码的时候,一般会有很多路径,这个时候就会产生路径的问题,在jsp页面中,我们通常使用如下方式: 建立一个basePath: 这样的话,本页面的代码中的路径都会以base为基准了。 在servlet中的提交方法有有get 和post两种: GET:客户端可见,长度有限制255 ,不能上传文件 Post: 客户端不可见,长度无显示,可以上传文件 请求转发: 在Servlet中处理完请求以后,需要跳转到某个jsp页面,不执行后面的代码,使用:GetrequestDispatcher(“路径”).forword(req,resp); 实行后面的代码则使用incluede替换forword 讲到Servlet请求转发,就要用到 RequestDispatcher接口有两种方法,一种是forward,用于讲请求从一个Servlet传递到服务器上的另外的Servlet、JSP页面或者是HTML文件。另外一种是include,该方法用于在响应中包含其它资源的内容。和forward区别在于:利用include方法将请求转发给其他的

JSP期末理论考试,复习题

JSP编程技术期末理论考试A卷及答案 一、选择题(每小题1分,共40分) 1.当多个用户请求同一个JSP页面时,Tomcat服务器为每个客户启动一个(B)A)进程B)线程C)程序D服务。 2.不是JSP运行必须的是(D) A)操作系统 B)JavaJDK C)支持Jsp的Web服务器 D)数据库 3.下列说法哪一项是正确的(C) A)Apache用于ASP技术所开发网站的服务器 B)IIS用于CGI技术所开发网站的服务器 C)Tomcat用于JSP技术所开发网站的服务器 D)WebLogic用于PHP技术所开发网站的服务器 4.下面描述错误的是(C) A)HTML文件必须由开头,标记结束。 B)文档头信息包含在与之间。 C)在和之间可以包含和<body>等信息。 D)文档体包含在<body>和</body>标记之间 5.设置文档体背景颜色的属性是(C ) A)text B)bgcolor C)background D)link 6.(D)是标题标记。 A)标记B)<br>标记C)<hr>标记D)<hn> 7.超级链接是互联网的灵魂,下面哪个是正确的链接标记(A )A)<a href="https://www.doczj.com/doc/a813877728.html," " title="新浪网" >新浪网</a> B)<a target="https://www.doczj.com/doc/a813877728.html," " title="新浪网" >新浪网</a> C)<a href="新浪网" title="新浪网" > https://www.doczj.com/doc/a813877728.html, </a> D)<a target="新浪网" title="新浪网" >https://www.doczj.com/doc/a813877728.html,</a> 8.CSS选择器通过被规则指定的标记,对文档中使用该标记的内容进行统一的外观控制。下面那些不是CSS选择器( D ) A)标记选择器B)类型选择器C)ID选择器D)名称选择器 9.可以在以下哪个()标记之间插入Java程序片?(A) A)<% 和%> B)<% 和/> C)</ 和%> D)<% 和!> 10.JSP的Page编译指令的属性Language的默认值是:(A) A)Java B)C C)C#D)SQL 11.可以在以下哪个()标记之间插入变量与方法声明?(B)A)<% 和%> B)<%!和%> C)</ 和%> D)<% 和!></p><h2>大连交通大学JSP期末考试知识点总结</h2><p>JSP各章知识点总结 去年考试题型: 一、选择题(2分×15=30分) 二、填空题(1分×15=15分) 三、读程序写结果(3分×5=15分) JavaBean(2分×10=20分) 四、程序填空 数据库(2分×10=20分) 第一章 JSP简介 1.8080是Tomcat服务器默认占用的端口。 2.如果Tomcat服务器的安装目录是:D\apache—tomcat—5.5.20\,那么Tomcat的web服务目录的根目录是: D\apache—tomcat—5.5.20\webapps\Root 3.用户访问JSP页面,在浏览器键入Tomcat的IP地址、端口号、JSP页面的名字 例如:IP:192.168.1.200 名字:example 1 则用户在浏览器中键入的内容为:http://192.168.1.200:8080/ example 1 4. Tomcat服务器安装目录的webapps目录下的任何一个子目录都可以作为一个web服务目录 5.JSP与Java Servlet的关系 JSP技术屏蔽了Servlet对象的创建过程,使得Web程序设计者只需关心JSP页面本身的结构和设计好的各种标记,比如使用HTML标记设计页面的视图,使用Javabean标记有效地分离页面视图和数据库。 第二章 JSP语法 1.JSP页面:在传统的HTML页面文件中加入Java程序片和JSP标记就构成了一个JSP页面普通的HTML标记符 JSP标记,如指令标记、动作标记 2.JSP页面的组成变量和方法的声明 Java程序片 Java表达式 3.在“<%!”和“%>”标记符号之间声明变量和方法 4.成员变量:在“<%!”和“%>”标记符之间声明变量,这些变量称为JSP页面的成员变量 (只被初始化一次,被所有共享) 局部变量:在“<%!”和“%>”之间插入Java程序片,在程序片中声明的变量称为JSP页面</p><h2>JAVAWEB复习总结</h2><p>B1.{JSP-Servlet题目}表示“资源移动”的状态码是。(选择1项) A)200 B)302 C)400 D)500 A2.{JSP-Servlet题目}哪一个对象可以用于获得浏览器发送的请求。(选择1项) A)HttpServletRequest B)HttpServletResponse C)HttpServlet D)Http B3.{JSP-Servlet题目}如果不希望在JSP页面中存取HTTP会话,应该如何设定page指令?(选择1项) A)<%pagesession="disabled"%> B)<%pagesession="false"%> C)<%pagesession="true"%> D)<%pagedisablesession="true"%> CD4.{JSP-Servlet题目}在Servlet的生命周期中,容器只调用一次的方法是。(选择2项) A)service B)getServletConfig C)init D)destroy C5.{JSP-Servlet题目}在使用服务器端的会话管理时,通过什么方法标识会话。(选择1项) A)IP地址 B)Cookie C)Session id D)请求头 A6.{JSP-Servlet题目}下列哪个为JSP的小脚本的标签?(选择1项) A)<%%> B)<@%> C)<%!%> D)<%--%> C7.{JSP-Servlet题目}下面哪一个不是<jsp:useBean>元素的属性。(选择1项) A)scope B)Id C)Value D)Class C8.{JSP-Servlet题目}HttpServlet中,用来处理POST请求的方法是(选择1项)</p><h2>JSP复习资料1</h2><p>1、HTML是超文本标识语言,它是一种纯文字的文档。() 2、HTML语句是不区分大小写的。() 3、在Java语言中数据类型进行自动转换的规则是将占内存大的,转换为占内存小的。() 4、在JSP网页中可以没有HTML语句。() 5、Forward动作可以把当前网页重新导向另外的一个服务器。() 6、SQL 语句只能用于JSP网页设计中()。 7、Include动作和Include指令执行的结果是相同的。() 8、能够为JDBC提供数据库支持的厂商有IBM、Oracle、Sybase、Informix等公司。() 9、动态网页技术ASP是由IBM公司开发的。() 10、JSP源程序可以在记事本中进行编辑。() 1、√ 2、√ 3、× 4、√ 5、× 6、× 7、× 8、√ 9、× 10、√ 1.动态网页和静态网页的根本区别在于服务器端返回的HTML文件是事先存储好的还是由动态网页程序生成的。() 2.Web开发技术包括客户端和服务器端的技术。() 3.Tomcat和JDK都不是开源的。() 4、session对象是HttpSession接口类的实例,由客户端负责创建和销毁,所以不同客户的session对象不同。( ) 5、Requestdispatcher的forward方法和include方法的区别是forward可以到另外一个web应用的资源,而include只能到同一web的另外资源。() 6、如果一个Sevlet有多个Filter,则优先级最高的Filter先执行。() 7.在HTML页面文件中加入JSP脚本元素、JSP标记等就构成了一个JSP页面。() 8.JSP引擎执行字节码文件的主要人物之一是直接将HTML内容发给客户端。 () 9.JSP页面中的变量和方法声明(Declaration)、表达式(Expression)和Java 程序片(Scriptlet)统称为JSP标记。() 10.JSP页面中的指令标记、JSP动作标记统称为脚本元素。() 1、√ 2、√ 3、× 4、√ 5、× 6、× 7、√ 8、√ 9、√ 10、× 1.在“<%!”和“%>”标记之间声明的Java的变量在整个页面内有效,不同的客户之间不共享。() 2.在“<%!”和“%>”标记之间声明的Java的方法在整个页面内有效。()3.页面成员方法不可以在页面的Java程序片中调用。() 4.程序片变量的有效范围与其声明位置有关,即从声明位置向后有效,可以在声明位置后的程序片、表达式中使用。() 5.程序片变量不同于在“<%!”和“%>”之间声明的页面成员变量,不能在不同客户访问页面的线程之间共享。()</p><h2>JSP数据库应用开发知识点</h2><p>JSP数据库应用开发: 1、了解数据库的基本概念 2、了解数据库mysql 3、掌握在mysql中创建数据库、数据表 4、熟悉sql的常用查询语句 5、了解jdbc的工作原理 6、掌握使用jdbc连接数据库的方法 7、了解jdbc-odbc桥接 8、掌握纯java驱动方式连接数据库 9、掌握在web项目中创建连接数据库的工具类 具体内容: 1、了解数据库的基本概念: (1)数据库技术产生于20世纪60年代; (2)数据VS信息:1)数据——对客观事物描述和记载的可以鉴别的物理符号,是客观事物的基本表达; 2)信息是数据的集合、含义与解释,是事物变化、特征的反映。 (3)数据库是指在计算机内按照一定形式存放、有组织、统一管理的相关数据和数据库对象的集合。其中数据库对象是指表、视图、存储过程、触发器等。 (4)数据库管理系统:是位于用户和操作系统之间的一层数据管理软件。它能科学的组织和存储数据、高效地获取和维护数据,并能为用户提供访问数据的方法,包括数据库的创建、查询、插入、 修改和删除等。 (5)数据库系统:是指实现有组织、动态的存储大量关联数据、方便用户访问计算机硬件、软件和数据资源的系统,它主要由数据库、数据库管理系统、应用系统、数据库管理员及用户组成。数据 库系统常称为数据库。 (6)数据库分类:一句数据库管理系统的数据模型,可以分为层次数据库、网状数据库、关系数据库、面向对象数据库。最常用的是关系数据库。支持关系数据库的产品有:IBMDB2 Oracle Sybase Microsoft SQL Server等 (7)关系数据库:是以关系模型为基础的; (8)关系模型是利用二维表格表示数据的数据模型。 (9)数据表a 也叫做关系a (10)关系的首行:叫做属性、也叫做字段、也就是关系各列的名字,属性描述了所在列的意义。关系中每个属性都有一个取值范围,也就是这个属性的数据类型的取值范围,称为该属性的域。 (11)关系的模式:关系名和关系的属性的集合,也就是数据表的名字和数据表首行的各个字段的集合,例如数据表user,里面有三个字段id, username,userpassword,那么,关系模式是: user(id,username,userpassword) (12)记录:在关系中,字段的有序集合称为记录,记录的各个分量分别对应着关系的各个属性。也就是每个属性/字段对应的实际的数据,例如关系user中,01,张山,12398u,那么,这条记录 就写为(01,张山,12398u) (13)主键:是能确定一条记录的唯一标识。一条记录中有若干个属性,若其中某一个属性组能唯一标识一条记录,那么该属性组就可以称为一个主键。例如,一条记录包括学号、年龄、姓名,学号 是唯一能确定这个人的,其他都可能重复,所以学号是主键。</p> <div> <div>相关主题</div> <div class="relatedtopic"> <div id="tabs-section" class="tabs"> <ul class="tab-head"> <li id="13136042"><a href="/topic/13136042/" target="_blank">jsp基础知识</a></li> <li id="17352650"><a href="/topic/17352650/" target="_blank">jsp重要知识点</a></li> <li id="21027480"><a href="/topic/21027480/" target="_blank">jsp知识点总结</a></li> <li id="22386746"><a href="/topic/22386746/" target="_blank">jsp基础教程</a></li> </ul> </div> </div> </div> <div class="container"> <div>文本预览</div> <div class="textcontent"> </div> </div> </div> <div class="category"> <span class="navname">相关文档</span> <ul class="lista"> <li><a href="/doc/af14586247.html" target="_blank">jsp知识点总结</a></li> <li><a href="/doc/d58043339.html" target="_blank">第4章JSP基础知识</a></li> <li><a href="/doc/0b3694948.html" target="_blank">“jsp基础知识”单元习题</a></li> <li><a href="/doc/682031324.html" target="_blank">jsp知识点总结</a></li> <li><a href="/doc/9d4430688.html" target="_blank">JSP测验试题</a></li> <li><a href="/doc/be4308604.html" target="_blank">IT基础知识</a></li> <li><a href="/doc/e217378887.html" target="_blank">Java基础学习知识点总结</a></li> <li><a href="/doc/3215078328.html" target="_blank">JSP期末理论考试,复习题</a></li> <li><a href="/doc/6614843729.html" target="_blank">计算机毕业答辩中JSP提问知识点</a></li> <li><a href="/doc/a511656735.html" target="_blank">JSP基础知识</a></li> <li><a href="/doc/df1342823.html" target="_blank">JSP部分知识点整理</a></li> <li><a href="/doc/003044785.html" target="_blank">域名基础知识</a></li> <li><a href="/doc/f816474005.html" target="_blank">学习jsp必看的基础知识.doc</a></li> <li><a href="/doc/6f216155.html" target="_blank">JSP知识点和复习题</a></li> <li><a href="/doc/8f12906102.html" target="_blank">jsp基础知识</a></li> <li><a href="/doc/a618311834.html" target="_blank">IT基础知识培训课件.pptx</a></li> <li><a href="/doc/d519086155.html" target="_blank">“jsp基础知识”单元习题</a></li> <li><a href="/doc/3b3112079.html" target="_blank">JSP复习题</a></li> <li><a href="/doc/6f9351688.html" target="_blank">jsp基础知识</a></li> <li><a href="/doc/a14880603.html" target="_blank">“jsp语法知识”单元习题</a></li> </ul> <span class="navname">最新文档</span> <ul class="lista"> <li><a href="/doc/0619509601.html" target="_blank">幼儿园小班科学《小动物过冬》PPT课件教案</a></li> <li><a href="/doc/0a19509602.html" target="_blank">2021年春新青岛版(五四制)科学四年级下册 20.《露和霜》教学课件</a></li> <li><a href="/doc/9619184372.html" target="_blank">自然教育课件</a></li> <li><a href="/doc/3319258759.html" target="_blank">小学语文优质课火烧云教材分析及课件</a></li> <li><a href="/doc/d719211938.html" target="_blank">(超详)高中语文知识点归纳汇总</a></li> <li><a href="/doc/a519240639.html" target="_blank">高中语文基础知识点总结(5篇)</a></li> <li><a href="/doc/9019184371.html" target="_blank">高中语文基础知识点总结(最新)</a></li> <li><a href="/doc/8819195909.html" target="_blank">高中语文知识点整理总结</a></li> <li><a href="/doc/8319195910.html" target="_blank">高中语文知识点归纳</a></li> <li><a href="/doc/7b19336998.html" target="_blank">高中语文基础知识点总结大全</a></li> <li><a href="/doc/7019336999.html" target="_blank">超详细的高中语文知识点归纳</a></li> <li><a href="/doc/6819035160.html" target="_blank">高考语文知识点总结高中</a></li> <li><a href="/doc/6819035161.html" target="_blank">高中语文知识点总结归纳</a></li> <li><a href="/doc/4219232289.html" target="_blank">高中语文知识点整理总结</a></li> <li><a href="/doc/3b19258758.html" target="_blank">高中语文知识点归纳</a></li> <li><a href="/doc/2a19396978.html" target="_blank">高中语文知识点归纳(大全)</a></li> <li><a href="/doc/2c19396979.html" target="_blank">高中语文知识点总结归纳(汇总8篇)</a></li> <li><a href="/doc/1619338136.html" target="_blank">高中语文基础知识点整理</a></li> <li><a href="/doc/e619066069.html" target="_blank">化工厂应急预案</a></li> <li><a href="/doc/b019159069.html" target="_blank">化工消防应急预案(精选8篇)</a></li> </ul> </div> </div> <script> var sdocid = "aba0f8d2de80d4d8d05a4fc5"; </script> <script type="text/javascript">bdtj();</script> <footer class="footer"> <p><a href="/tousu.html" target="_blank">侵权投诉</a> © 2022 www.doczj.com <a href="/sitemap.html">网站地图</a></p> <p> <a href="https://beian.miit.gov.cn" target="_blank">闽ICP备18022250号-1</a>  本站资源均为网友上传分享,本站仅负责分类整理,如有任何问题可通过上方投诉通道反馈 <script type="text/javascript">foot();</script> </p> </footer> </body> </html>