搜档网
当前位置:搜档网 › JSP九大内置对象和四种属性范围解读

JSP九大内置对象和四种属性范围解读

JSP九大内置对象和四种属性范围解读
JSP九大内置对象和四种属性范围解读

JSP九大内置对象和四种属性范围解读

一、四种属性范围

1.1、在JSP中提供了四种属性保存范围

page:在一个页面内保存属性,跳转之后无效

request:在一次服务请求范围内,服务器跳转后依然有效

session:-在一次会话范围内,无论何种跳转都可以使用,但是新开浏览器无法使用application:在整个服务器上保存,所有用户都可以使用

1.2、4种属性范围都支持的操作

[java] view plain copy

public void setAttribute(String name,Object value)

public Object getAttribute(String name)

public Object removeAttribute(String name)

下面,我们来对四种范围来分别进行详细的介绍

1.3、page范围

在JSP中设置一个页的属性范围,必须通过pageContext完成,PageContext属性范围是最重要的JSP属性之一,但是如果使用纯粹的JSP代码开发,此属性显示不出用处,其发挥作用在Struts ,WebWork 中

如下:

[html] view plain copy

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

<%@ page language="java" contentType="text/html; charset=UTF-8"

pageEncoding="UTF-8"%>

Insert title here

<%

//设置page属性范围,此属性只在当前JSP页面内起作用

pageContext.setAttribute("name", "linbingwen");

pageContext.setAttribute("time", new Date());

%>

姓名:${https://www.sodocs.net/doc/971720415.html,}

时间:${pageScope.time}

${https://www.sodocs.net/doc/971720415.html,}这里用了EL表达式来取得值,输出结果如下,

这里要注意发果在其它页面使用:

如下:

[html] view plain copy

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

<%@ page language="java" contentType="text/html; charset=UTF-8"

pageEncoding="UTF-8"%>

Insert title here

姓名:${https://www.sodocs.net/doc/971720415.html,}

时间:${pageScope.time}

输出结果:

这说明page范围的值只能在本页使用!

1.4、request属性范围

request将属性保存在一次请求范围之内:

前提:必须使用服务器端跳转: 应用点:MVC设计模式、Struts、Webwork 应用实例

首先是设置request:

request.jsp

[html] view plain copy

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

<%@ page language="java" contentType="text/html; charset=UTF-8"

pageEncoding="UTF-8"%>

Insert title here

<%

//设置request属性范围

request.setAttribute("name", "linbingwen");

request.setAttribute("time", new Date());

%>

然后是显示requestResult.jsp

[html] view plain copy

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

<%@ page language="java" contentType="text/html; charset=UTF-8"

pageEncoding="UTF-8"%>

Insert title here

获取request姓名:${https://www.sodocs.net/doc/971720415.html,}

获取request时间:${requestScope.time}

访问结果:

这时比如requestResult1.jsp也想来访问这两个属性

内容和requestResult.jsp一样:

[html] view plain copy

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

<%@ page language="java" contentType="text/html; charset=UTF-8"

pageEncoding="UTF-8"%>

Insert title here

获取request姓名:${https://www.sodocs.net/doc/971720415.html,}

获取request时间:${requestScope.time}

结果如下,说明request只针对服务器跳转有效,在两次跳转之间保存。

1.5、session属性范围

session:只要设置上去,则不管是什么跳转,都可以取得属性,主要用于验证用户是否登陆。EMAIL--->用户需要先进行登陆,登陆成功后再编辑邮件。与session有关的任何打开的页面都可以取得session

比如session.jsp设置如下:

[html] view plain copy

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

<%@ page language="java" contentType="text/html; charset=UTF-8"

pageEncoding="UTF-8"%>

Insert title here

<%

//设置session属性范围

session.setAttribute("name", "linbingwen");

session.setAttribute("time", new Date());

%>

获取session内容

然后是取出sesson的值sessionResult.jsp

[html] view plain copy

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

<%@ page language="java" contentType="text/html; charset=UTF-8"

pageEncoding="UTF-8"%>

Insert title here

获取session姓名:${https://www.sodocs.net/doc/971720415.html,}

获取session时间:${sessionScope.time}

输出结果:

如果还有一个sessionResult1.jsp和sessionResult.jsp一样如下

[html] view plain copy

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

<%@ page language="java" contentType="text/html; charset=UTF-8"

pageEncoding="UTF-8"%>

Insert title here

<%

//设置request属性范围

session.setAttribute("name", "linbingwen");

session.setAttribute("time", new Date());

%>

获取session内容

然后是取出sesson的值sessionResult.jsp

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

<%@ page language="java" contentType="text/html; charset=UTF-8"

pageEncoding="UTF-8"%>

Insert title here

获取session姓名:${https://www.sodocs.net/doc/971720415.html,}

获取session时间:${sessionScope.time}

注意看上面的GIF动画和这里的获取到的时间是一样的,这也说明了这两个jsp页面取得了同一个值

1.6、application属性范围

只要设置一次,则所有的页面窗口都可以取得数据。这里的值将会保存在服务器上,所以每一个用户都可以看见。

如下面application.jsp:

[html] view plain copy

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

<%@ page language="java" contentType="text/html; charset=UTF-8"

pageEncoding="UTF-8"%>

Insert title here

<%

//设置request属性范围

application.setAttribute("name", "linbingwen");

application.setAttribute("time", new Date());

%>

获取application内容

然后是applicationResult.jsp

[html] view plain copy

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

<%@ page language="java" contentType="text/html; charset=UTF-8"

pageEncoding="UTF-8"%>

Insert title here

获取application姓名:${https://www.sodocs.net/doc/971720415.html,}

获取application时间:${applicationScope.time}

输出结果:

如果这时在新建一个网页或新建一个新的web项目,但是它们两个要运行在同一个Tomcat 中,那么它同样也能访问到这个值。

注意:

pplication、session、request--==--》都与要跨多个页,属性保存是有内存开销的,设置过多的application或每一个session保存过多的对象,性能就降低了。

原则:能用request就不要用session,能用session就不要用application

application应用:在线人员统计、在线人员名单列表,要释放application资源,只能重新启动服务器.

使用application缓存数据库的连接,每次使用时,从缓冲中取出,用完就返回。

二、JSP九大内置对象详解

内置对象(又叫隐含对象,有9个内置对象):不需要预先声明就可以在脚本代码和表达式中随意使用

JSP内置对象映射表

request 请求对象类型javax.servlet.ServletRequest 作用域Request

response 响应对象类型javax.servlet.SrvletResponse 作用域Page

pageContext 页面上下文对象类型javax.servlet.jsp.PageContext 作用域Page

session 会话对象类型javax.servlet.http.HttpSession 作用域Session

application 应用程序对象类型javax.servlet.ServletContext 作用域Application

out 输出对象类型javax.servlet.jsp.JspWriter 作用域Page

config 配置对象类型javax.servlet.ServletConfig 作用域Page

page 页面对象类型https://www.sodocs.net/doc/971720415.html,ng.Object 作用域Page

exception 例外对象类型https://www.sodocs.net/doc/971720415.html,ng.Throwable 作用域page

JSP中一共预先定义了9个这样的对象,分别为:request、response、session、application、out、pagecontext、config、page、exception

2.1、request对象

request 对象是javax.servlet.httpServletRequest类型的对象。该对象代表了客户端的请求信息,主要用于接受通过HTTP协议传送到服务器的数据。(包括头信息、系统信息、请求方式以及请求参数等)。request对象的作用域为一次请求。

实现常有的方法

1、获取数据

[java] view plain copy

getParameter;;接收请求参数的,

2、对所有数据进行再编码

[java] view plain copy

public byte[] getBytes(“encoding”)

如下实例将byte数组编码转换

[html] view plain copy

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

<%

//接收内容

String name=request.getParameter("uname");

byte[] b=name.getBytes("ISO8859-1");

name=new String(b);

String name= new String(request.getParameter("uname").getBytes("ISO8859-1"));

%>

输入内容为:<%=name%>

3、设置统一的请求编码

[java] view plain copy

public void setCharacterEncoding(String env) throws UnsunpportedEncodingException

如下设置

[html] view plain copy

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

<%

//接收内容

request.setCharacterEncoding("GBK");

String name= request.getParameter("uname");

%>

输入内容为:<%=name%>

4、获取requst信息:

[html] view plain copy

<%@ page language="java" contentType="text/html; charset=UTF-8"

pageEncoding="UTF-8"%>

Insert title here

请求方式:<%=request.getMethod()%>

请求的资源:<%=request.getRequestURI()%>

请求用的协议:<%=request.getProtocol()%>

请求的文件名:<%=request.getServletPath()%>

请求的服务器的IP:<%=request.getServerName()%>

请求服务器的端口:<%=request.getServerPort()%>

客户端IP地址:<%=request.getRemoteAddr()%>

客户端主机名:<%=request.getRemoteHost()%>

表单提交来的值:<%=request.getParameter("name")%>

我们第一次访问是默认用GET方法,表单提交后使用POST方式。

2.2、response对象

response 代表的是对客户端的响应,主要是将JSP容器处理过的对象传回到客户端。response对象也具有作用域,它只在JSP页面内有效。response对象的主要使用1.设置HTTP头信息、重定向、设置COOKie

(1).Web服务器收到一个http请求,会针对每个请求创建一个HttpServletRequest和HttpServletResponse对象,向客户端发送数据找HttpServletResponse,从客户端取数据找HttpServletRequest;

(2).HttpServletResponse对象可以向客户端发送三种类型的数据:a.响应头b.状态码c.数据

2.2.1、response对象所提供的方法。

(1)设定表头的方法

[java] view plain copy

void addCookie(Cookie cookie) 新增cookie

void addDateHeader(String name, long date) 新增long类型的值到name标头

void addHeader(String name, String value) 新增String类型的值到name标头

void addIntHeader(String name, int value) 新增int类型的值到name标头

void setDateHeader(String name, long date) 指定long类型的值到name标头

void setHeader(String name, String value) 指定String类型的值到name标头

void setIntHeader(String name, int value) 指定int类型的值到name标头

containsHeader( String name )判断指定名字的HTTP文件头是否已经存在,然后返回真假布尔值

(2)设定响应状态码的方法

[html] view plain copy

void sendError(int sc) 传送状态码(status code)

void sendError(int sc, String msg) 传送状态码和错误信息

void setStatus(int sc) 设定状态码

(3)用来URL 重写(rewriting)的方法

[html] view plain copy

String encodeRedirectURL(String url) 对使用sendRedirect( )方法的URL予以编码

(4)设置重定向

[html] view plain copy

sendRedirect():设置重定向页面.

2.2.2、使用范例

(1)使用response对象可以设置HTTP的头信息。格式response.setHeader(“头信息名称”,”参数”),其中一个重要的头信息:refresh(刷新)。例如,每秒刷新一次也没,显示刷新次数:[html] view plain copy

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

<%@ page language="java" contentType="text/html; charset=UTF-8"

pageEncoding="UTF-8"%>

Insert title here

<%!int i=0; %>

<%

//每秒刷新一次

response.setHeader("refresh","1");

%>

<%=i++ %>

输出结果如下:

(2)重定向

[html] view plain copy

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

<%@ page language="java" contentType="text/html; charset=UTF-8"

pageEncoding="UTF-8"%>

"https://www.sodocs.net/doc/971720415.html,/TR/html4/loose.dtd">

Insert title here

<%

response.setHeader("refresh","3;URL=index.jsp") ;

%>

三秒后跳转!!!

如果没有跳转,请按这里!!!

来输出结果看看:

输入http://localhost:8080/JspLearning/responseObject1.jsp,三秒后自动跳转到http://localhost:8080/JspLearning/index.jsp

当然还可以使用response.sendRedirect("**.jsp");命令

如下:

[html] view plain copy

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

<%@ page language="java" contentType="text/html; charset=UTF-8"

pageEncoding="UTF-8"%>

Insert title here

<%

response.sendRedirect("index.jsp");

%>

输出结果,直接重定向返回到首页了,

(3)设置cookie

[html] view plain copy

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

Cookie的使用

<%

Cookie c1 = newCookie("name","aaa") ;

Cookie c2 = newCookie("password","111") ;

// 最大保存时间为60秒

c1.setMaxAge(60) ;

c2.setMaxAge(60) ;

// 通过response对象将Cookie设置到客户端

response.addCookie(c1) ;

response.addCookie(c2) ;

%>

(4)读取cookie

[html] view plain copy

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

Cookie的使用

<%

// 通过request对象,取得客户端设置的全部Cookie

// 实际上客户端的Cookie是通过HTTP头信息发送到服务器端上的Cookie c[] = request.getCookies() ;

%>

<%

for(int i=0;i

Cookie temp = c[i] ;

%>

<%=temp.getName()%> --> <%=temp.getValue()%>

<%

}

%>

2.3、session对象

session 对象是由服务器自动创建的与用户请求相关的对象。服务器为每个用户都生成一个session对象,用于保存该用户的信息,跟踪用户的操作状态。session对象内部使用Map类来保存数据,因此保存数据的格式为“Key/value”。session对象的value可以使复杂的对象类型,而不仅仅局限于字符串类型。

(1)session(会话)对象是类javax.servlet.Httpsession的一个对象。session是从客户端连接服务器开始,到与服务器断开为止。

(2)session对象用于保存每个与服务器建立连接的客户端的信息,session的ID保存于客户端的Cookie中,这个session ID标识唯一和用户,与其他用户的session ID不同。

(3)session对象的ID:

当一个客户端访问服务器的一个JSP页面时,JSP引擎产生一个session对象,同时分配一个String类型的ID号,并发给客户端。客户端将其存储于Cookie.a其标志了一个唯一的ID;采用getID()方法返回session对象在服务器端的编号。服务器端通过此ID,唯一地识别一个用户,并提供特殊的服务。

(4)session对象的有效期:

存在以下几个情况时,session对象和其存储的数据会消失,情况有:

当用户关闭当前正在使用的浏览器时;

关闭网页服务器。

用户未向服务器提出请求超预设时,Tomcat服务器预设为30分钟;

运行程序结束session.

出现以上四种情况时,session对象会消失。

以下是一个简单的session登陆实例:

login.jsp

[html] view plain copy

<%@ page language="java" contentType="text/html; charset=UTF-8"

pageEncoding="UTF-8"%>

Insert title here

用户名:

密码:

<%

String name = (String)request.getParameter("uname");

String password = (String)request.getParameter("upass");

if(!(name == null || "".equals(name) || password == null || "".equals(password))){

if("linlin".equals(name) && "123456".equals(password)){

//如果登录成功,则设置session的属性范围

session.setAttribute("userid", name);

response.setHeader("refresh","3;URL= welcome.jsp");

%>

用户登录成功!三秒后跳转到欢迎页……

如果没有跳转,请按这里

<%

}else{

%>

错误的用户名或密码!

<%

}

}

%>

welcome.jsp

[html] view plain copy

<%@ page language="java" contentType="text/html; charset=UTF-8"

pageEncoding="UTF-8"%>

Insert title here

<% //如果已经设置过了session属性,则肯定不为空

if(session.getAttribute("userid") != null){

%>

欢迎<%=session.getAttribute("userid")%>登陆~~~~~~~~~~注销

<%

}else{

%>

请先进行本系统的登录

<%

}

%>

logout.jsp

[html] view plain copy

<%@ page language="java" contentType="text/html; charset=UTF-8"

pageEncoding="UTF-8"%>

Insert title here

<%

response.setHeader("refresh", "2;URL=login.jsp");

session.invalidate(); //注销表示当前的session失效

%>

你已成功退出本系统,两秒后返回到首页!

如果没有跳转,请按这里

首页

结果如下:输入正确用户名和密码后,等三秒,自动跳转到欢迎界面welcome.jsp。欢迎界面里点注销,重定向的注销界面login.jsp,等2秒后自动跳转到login.jsp

2.4、application对象

application 对象可将信息保存在服务器中,直到服务器关闭,否则application对象中保存的信息会在整个应用中都有效。与session对象相比,application对象生命周期更长,类似于系统的“全局变量”。

运用实例:网页访问计数器。

[html] view plain copy

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

<%@ page language="java" contentType="text/html; charset=UTF-8"

pageEncoding="UTF-8"%>

Insert title here

<%

if(application.getAttribute("counter") == null)

{

application.setAttribute("counter", "1");

}

else

{

String strnum = null;

strnum = application.getAttribute("counter").toString();

int icount = 0;

icount = Integer.valueOf(strnum).intValue();

icount++;

application.setAttribute("counter", Integer.toString(icount));

}

%>

您是第<%=application.getAttribute("counter") %>位访问者!

输出结果:

运行结果就是访问到该页面之后显示你是第几位访客,刷新之后数目会增加,更换浏览器或者更换客户端地址都会使其访问值正常递增。

application的存活范围比request和session都要大。只要服务器没有关闭,application 对象中的数据就会一直存在,在整个服务器的运行过程当中,application对象只有一个,它会被所有的用户共享。其中getRealPath这个方法可以获取资源在服务器上的物理路径(绝对路径),常用来获取上传文件时要存储文件的路径。

2.5、out 对象

out 对象用于在Web浏览器内输出信息,并且管理应用服务器上的输出缓冲区。在使用out 对象输出数据时,可以对数据缓冲区进行操作,及时清除缓冲区中的残余数据,为其他的输出让出缓冲空间。待数据输出完毕后,要及时关闭输出流。

out对象的方法

[html] view plain copy

clear()清除网页上输出的内容

clearBuffer()清除缓冲去的内容

close()关闭缓冲区,清除所有的内容

getBufferSize()取得缓冲区的大小

getRemaining()取得缓冲区剩余大小

isAutoFlush()获取缓冲是否进行自动清除的信息

print()进行页面输出

println()进行页面输出并换行

使用out对象进行页面的输出

[html] view plain copy

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

使用out对象输出内容

<%

out.print("hello world");

out.println("hello world");

%>

这里在页面上输出是没有什么区别的,如果想换行要使用html元素

使用out对象获得缓冲区使用大小

[html] view plain copy

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

使用out对象求的缓冲区使用的大小

<%

int all = out.getBufferSize();

int remain = out.getRemaining();

int use = all - remain;

out.println("总的缓冲区大小为:"+all+"
");

out.println("正在使用的缓冲区的大小为:"+remain+"
");

out.println("剩余的缓冲区的大小为:"+use+"
");

%>

输出结果

2.6、pageContext 对象

pageContext 对象的作用是取得任何范围的参数,通过它可以获取JSP页面的out、request、reponse、session、application 等对象。pageContext对象的创建和初始化都是由容器来完成的,在JSP页面中可以直接使用pageContext对象。

这个对象代表页面上下文,该对象主要用于访问JSP之间的共享数据。

[html] view plain copy

pageContext是PageContext类的实例,使用pageContext可以访问page、request、session、application范围的变量。

getAttribute(String name):取得page范围内的name属性。

getAttribute(String name,int scope):取得指定范围内的name属性,其中scope可以是如下4个值:

PageContext.PAGE_SCOPE:对应于page范围。

PageContext.REQUEST_SCOPE:对应于request范围。

PageContext.SESSION_SCOPE:对应于session范围。

PageContext.APPLICATION_SCOPE:对应于application范围。

实例:

[html] view plain copy

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

<%@ page language="java" contentType="text/html; charset=UTF-8"

pageEncoding="UTF-8"%>

Insert title here

<%

//使用pageContext设置属性,该属性默认在page范围内

pageContext.setAttribute("name","lin-pageContext");

request.setAttribute("name","lin-request");

session.setAttribute("name","lin-session");

application.setAttribute("name","lin-application");

%>

page设定的值:<%=pageContext.getAttribute("name")%>

request设定的值:<%=pageContext.getRequest().getAttribute("name")%>

session设定的值:<%=pageContext.getSession().getAttribute("name")%>

application设定的值:<%=pageContext.getServletContext().getAttribute("name")%>

范围1内的值:<%=pageContext.getAttribute("name",1)%>

范围2内的值:<%=pageContext.getAttribute("name",2)%>

范围3内的值:<%=pageContext.getAttribute("name",3)%>

范围4内的值:<%=pageContext.getAttribute("name",4)%>

<%pageContext.removeAttribute("name",3);%>

pageContext修改后的session设定的值:<%=session.getValue("name")%>

<%pageContext.setAttribute("name","lin-modify",4);%>

pageContext修改后的application设定的值:<%=pageContext.getServletContext().getAttribute("name")%>

值的查找:<%=https://www.sodocs.net/doc/971720415.html,Attribute("name")%>

属性name的范围:<%=pageContext.getAttributesScope("name")%>

输出结果:

2.7、config 对象

config 对象的主要作用是取得服务器的配置信息。通过pageConext对象的getServletConfig() 方法可以获取一个config对象。当一个Servlet 初始化时,容器把某些信息通过config对象传递给这个Servlet。开发者可以在web.xml 文件中为应用程序环境中的Servlet程序和JSP 页面提供初始化参数。

config 对象代表当前JSP 配置信息,但JSP 页面通常无须配置,因此也就不存在配置信息。该对象在JSP 页面中非常少用,但在Servlet 则用处相对较大。因为Servlet 需要配置在web.xml 文件中,可以指定配置参数。

[html] view plain copy

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

<%@ page language="java" contentType="text/html; charset=UTF-8"

pageEncoding="UTF-8"%>

Insert title here

<%=config.getServletName()%>

name配置参数的值:<%=config.getInitParameter("name")%>

age配置参数的值:<%=config.getInitParameter("age")%>

web.xml配置里加上:

[html] view plain copy

config

/configObject.jsp

name

linbingwen

age

100

config

/config

输出结果:

2.8、page 对象

page 对象代表JSP本身,只有在JSP页面内才是合法的。page隐含对象本质上包含当前Servlet接口引用的变量,类似于Java编程中的this 指针。

1 什么是page对象?

(1) page对象代表JSP页面本身

page对象是当前JSP页面本身的一个实例,page对象在当前JSP页面中可以用this关键字来替代。

(2) 在JSP页面哪些地方可以使用page对象

在JSP页面的Java程序片中可以使用page对象

在JSP页面的JSP表达式中可以使用page对象

(3) page对象的基类是:https://www.sodocs.net/doc/971720415.html,ng.Object类。

注意:如果直接通过page对象来调用方法,就只能调用Object类中的那些方法。

(4) javax,servlet.jsp.JspPage接口

JspPage接口继承于javax.servlet.Servlet接口。

我们可以使用JspPage接口对page对象进行强制类型转换,再调用JspPage接口中的各种方法。

JSP隐式对象

Jsp的隐式对象和EL的隐式对象学习 2009-09-02 21:48 JSP共有九大内置对象: (1) HttpSession类的session对象 作用:主要用于来分别保存每个用户信息,与请求关联的会话; 会话状态维持是Web应用开发者必须面对的问题。 (2) HttpServletRequest类的request对象 作用:代表请求对象,主要用于接受客户端通过HTTP协议连接传输到服务器端的数据。 (3) HttpServletResponse类的respone对象 作用:代表响应对象,主要用于向客户端发送数据 (4) JspWriter类的out对象 作用:主要用于向客户端输出数据; Out的基类是javax.servlet.jsp.JspWriter (5) ServletContext类的application对象 作用:主要用于保存用户信息,代码片段的运行环境; 它是一个共享的内置对象,即一个容器中的多个用户共享一个application对象,故其保存的信息被所有用户所共享. (6) PageContext类的pageContext对象 作用:管理网页属性,为JSP页面包装页面的上下文,管理对属于JSP中特殊可见部分中已命名对象的访问,它的创建和初始化都是由容器来完成的。 (7) ServletConfig类的config对象 作用:代码片段配置对象,表示Servlet的配置。 (8) Object类的page(相当于this)对象 作用:处理JSP网页,是Object类的一个实例,指的是JSP实现类的实例,即它也是JSP本身,只有在JSP页面范围之内才是合法的。 (9)Exception 作用:处理JSP文件执行时发生的错误和异常 EL共有11大内置对象: JSP开发人员可以在EL表达式中使用EL隐式对象,而无须任何显式的编码活声明。隐式对象就是设计用

“jsp内置对象”单元习题

“JSP内置对象”单元习题 一、填空题 1.JSP 中有9 种内置对象,它们分别是:___________、___________、response 对象、pageContext 对象、session对、applicationt 对象、page 对象、config 对象和exception 对象。 2.Request对象可以使用___________方法获取表单提交的信息。 3.客户端向服务器端提交数据的方式通常有两种:一种是___________提交方式;另一种是 ___________提交方式。 4.在JSP 内置对象中,与请求相关的对象是______________________。 5.___________被封装成javax.servlet.JspWriter 接口,它用来向客户端输出内容。 6.Out 对象中用来输出各种类型数据并换行的方法是______________________。7.Out 对象中用来输出各种类型数据但不换行的方法是 ______________________。 8.Out 对象中用来输出一个换行符的方法是______________________。9.Out 对象中用来关闭输出流的方法是______________________。 10.Out 对象中用来输出缓冲区里的数据的方法是______________________。11.Out 对象中用来清除缓冲区里的数据,并把数据写到客户端的方法是 ________________。 12.Out 对象中用来清除缓冲区里的数据,但不写到客户端的方法是 ___________________。 13.Out 对象中用来获得缓冲区大小的方法是______________________。14.Out 对象中用来获得缓冲区剩余空间大小的方法是 ______________________。 15.Out 对象中用来判断缓冲区是否自动刷新的方法是 ______________________。 16.Request 对象中用来获得服务器名字的方法是______________________。17.Request 对象中用来获得服务器的端口号的方法是 ______________________。 18.Request 对象中用来获得客户端的IP 地址的方法是 ______________________。 19.Request 对象中用来获得客户端的计算机名字的方法是 ______________________方法。 20.Request 对象中用来获得客户端向服务器端传送数据的协议名称的方法是 __________________。 21.___________是同应答相关的HttpServletResponse类的一个对象,它封装了服务器对客户端的响应,然后被送到客户端以响应客户请求。 22.Response对象中用来动态改变contentType属性的方法是 ______________________。 23 .Response 对象中用来把响应发送到另一个指定的位置进行处理的方法 是______________________。

张建伟-《WEB系统与技术》课程教学大纲

《WEB系统与技术》课程教学大纲 课程代码:90613602 课程类型:专业必修课适合专业:计算机科学与技术 总学时数:48 学分:3 一、课程教学目的与任务 《WEB系统与技术》是计算机科学与技术专业的专业必修课。通过本课程的学习,培养学生团队合作开发Web应用程序的能力,能够运用JAVA EE的知识和技巧编写Web应用程序,例如信息发布系统、论坛、留言板、聊天室、博客等系统;培养学生的自学能力及提出问题、分析问题和解决问题的能力并最终把其转化为相应的系统功能来进行实现。 二、理论教学的基本要求 通过系统的理论教学将培养学生达到以下要求:掌握WEB的相关开发技术,能熟练的使用JAVA EE技术结合HTML和JAVASCRIPT技术综合开发系统,熟练掌握JAVA EE的核心JSP/SERVLET技术,学习相关的衍生的技术和使用组件,为以后学习SSH打下基础,并锻炼学生的编程思维以及对项目业务逻辑的综合分析和处理能力。 实践教学的目的是通过设置验证性和设计性的实验培养学生团队合作开发Web应用程序的能力,使学生能运用JAVA EE技术编写Web应用程序;实验教学采用演练结合的实验方式;实验考核由三部分组成:实验操作、实验报告、实验纪律。 四、教学学时分配

五、教学内容 第一章 Web应用开发概述 教学目的和要求:初步认识 WEB项目,了解网络程序开发体系结构,掌握B/S和C/S 两种开发模式的优缺点以及常规的应用场合,学习WEB项目的工作原理和发展历史,认识目前主流的WEB开发技术。 教学重点:B/S和C/S模式的比较;WEB项目的初步认识以及工作原理和发展;主流的WEB开发技术。 教学难点:WEB项目的工作原理;B/S和C/S。 教学内容:网络程序开发体系结构:C/S结构介绍,B/S结构介绍;Web的工作原理;Web的发展历程;Web开发技术。 第二章 HTML与CSS网页开发基础 教学目的和要求:通过本章的学习,培养学生对HTML和CSS的使用的能力,要求学生了解网页的制作过程,能根据实际要求制作相应的网页,培养学生对dreamweaver等开发工具的使用,使得学生能够解决简单实际问题,为后续的WEB开发打下基础。 教学重点:HTML的开发和标记;CSS的规则和选择器;CSS在HTML中的应用;CSS3的新特性。 教学难点:HTML开发;CSS的规则和选择器以及使用。 教学内容:HTML文档结构、常用标记、表格标记、HTML表单标记、超链接与图片标记;CSS规则、CSS选择器、在页面中包含CSS、CSS 3的新特征、模块与模块化结构。

“jsp内置对象”单元习题教学提纲

“j s p内置对象”单 元习题

“JSP内置对象”单元习题 一、填空题 1.JSP 中有9 种内置对象,它们分别是:___________、___________、response 对象、 pageContext 对象、 session对、 applicationt 对象、page 对象、 config 对象和 exception 对象。 2.Request对象可以使用___________方法获取表单提交的信息。 3.客户端向服务器端提交数据的方式通常有两种:一种是___________提交方式;另一种是 ___________提交方式。 4.在JSP 内置对象中,与请求相关的对象是______________________。5.___________被封装成 javax.servlet.JspWriter 接口,它用来向客户端输出内容。 6.Out 对象中用来输出各种类型数据并换行的方法是 ______________________。 7.Out 对象中用来输出各种类型数据但不换行的方法是 ______________________。 8.Out 对象中用来输出一个换行符的方法是______________________。9.Out 对象中用来关闭输出流的方法是______________________。 10.Out 对象中用来输出缓冲区里的数据的方法是______________________。11.Out 对象中用来清除缓冲区里的数据,并把数据写到客户端的方法是 ________________。

12.Out 对象中用来清除缓冲区里的数据,但不写到客户端的方法是 ___________________。 13.Out 对象中用来获得缓冲区大小的方法是______________________。14.Out 对象中用来获得缓冲区剩余空间大小的方法是 ______________________。 15.Out 对象中用来判断缓冲区是否自动刷新的方法是 ______________________。 16.Request 对象中用来获得服务器名字的方法是______________________。17.Request 对象中用来获得服务器的端口号的方法是 ______________________。 18.Request 对象中用来获得客户端的 IP 地址的方法是 ______________________。 19.Request 对象中用来获得客户端的计算机名字的方法是 ______________________方法。 20.Request 对象中用来获得客户端向服务器端传送数据的协议名称的方法是__________________。 21.___________是同应答相关的 HttpServletResponse类的一个对象,它封装了服务器对客户端的响应,然后被送到客户端以响应客户请求。22.Response对象中用来动态改变 contentType属性的方法是 ______________________。 23 . Response 对象中用来把响应发送到另一个指定的位置进行处理的方法 是______________________。

web总结

Tomocat服务器的默认端口:8080 默认端口需要被修改时,应该修改哪一个文件?Web-xml Mvc的三层开发结构?含义是什么?(模型,视图,控制) Jsp九大内置对象有哪些?分别代表哪些含义? 如果要实现不同网页之间的数据共享,且跨机共享? 表单提交的两种方法?Get 和post Jsp注释放在<%-- 注释内容--%>中 在网页中插入一张图片/像,html中的代码是? Jsp代码是? Cookie的使用包含:删除和添加(p172页),如何使用? 一个网页中只包含一个表单吗?(X) Html标记的属性区分大小写吗?不 Html的换行标记是:

Tab表格的换行标记: 图形文件和网页文件是分开存储的吗?(对)网页中不能放图片 Jsp运行的必要条件是() 1.JDK 2.jsp的web服务器 3. OS 4.数据库(错误) 当多个用户同时请求一个JSP服务器,tomocat将为用户提供一个(线程)Internet上应用最为广泛的服务是WWW服务(对) Session数据有哪几种情况会被清空?分别为? JSP要使用驱动Jar,必须放在WEB-INF/lib目录下 Html中网页标题放在 JDBC连接数据库的基本步骤?(p205页) 表单域一定要放在表单中才有效吗?(对) Http:超文本传输协议 FTP:文件传输协议 Severlet中正确获取Session对象语句是怎么写的? (HttpSession session=request.getSession();) 在Session对象中,设置超时时间的方法是什么?(setmaxlnactiveInterval()) 在JSP中设置重定向 编写一个完整的severlet文件中,需要在哪个文件中配置路径? Java异常处理代码,放在(try-catch中) Tomcat/web文件发布时,需要打包为War文件, 拷贝哪个文件也可以? Request的功能? Get 和post 参数? 判断:get 请求处理数据量大小设限制吗?(要) 补考:四种会话跟踪技术?

Java基础面试题及答案(在后面)

JAVA基础部分-选择题 (单选)1.在Java语言中,字符串“Java程序员”在内存中所占用的字节数是:()。 A.10 B.7 C.13 D.14 2. (单选)下列表达式中,可以得到精确结果的是()。 A.double d1 = 3.0 - 2.6; B.double d4 = 2.5 * 1.5; C.double d2 = 30/300; D.double d3 = 1/2 + 0.5; 3.(多选)所谓“水仙花”数是一个整数等于各位数字立方的和,例如:153 = 下列选项中,空白处可以填入的代码是:()。 A.int s = 0, n1 = n; while (n1 > 0) { int t = n1 % 10; s += t * t * t; n1 /= 10; } B.int s = 0, n1 = n; while (n1 > 0) { int t = n1 / 10; s+= t * t * t; n1 %= 10; } C.int s = 0; for(int n1 = n; n1>0; n1 /= 10) { int t = n1%10; s += t * t * t; } D.int s = 0; for(int n1 = n; n1>0; n1 %= 10) { int t = n1 / 10; s += t * t * t; } 4.下列语句序列执行后,k 的值是 ( )

A.60 B.5 C.0 D.54 5.设 a = 8,则表达式 a >>> 2 的值是:(无符号右移动)( ) A.1 B.2 C.3 D.4 6.下列程序 在程序中插入下列哪一行代码可以编译通过: A static void doSomething(int[] args){} B static void doSomething(int... args){} C static coid doSomething(int...args,int x){}

JavaWeb测试题

JavaWeb测试题 1、page指令的import属性的作用是(C) A、定义JSP页面响应的MIME类型 B、定义JSP页面使用的脚本语言 C、为JSP页面引入JAVA包中的类 D、定义JSP页面字符的编码 2、以下对象中的(D)不是JSP的内置对象。 A、request B、session C、application D、bean 3、在JSP中,内置对象(B)封装了用户提交的信息,使用该对象可以获取用户提交的信息。 A、session B、request C、response D、out 4、从(A)开始,到()结束,被称为一个会话。 A、访问者连接到服务器,访问者关闭浏览器离开该服务器 B、服务器启动,服务器关闭 C、访问者连接到服务器,服务器关闭 D、服务器启动,访问者关闭浏览器离开该服务器 5) 在下面哪个web应用目录中可以放置所需要的类库(A) A. /WEB-INF/lib放置jar文件 B. /META-INF/lib放置jar文件 C. /WEB-INF/classes 放置已经编译的类文件 D. /META-INF/classes 放置已经编译的类文件 6) 在J2EE中,test .jsp文件中有如下一行代码:要使User对象一直存在于会话中,直至其终止或被删除为止,下划线中应填入( D )。 a) page b) request c) session d) application 7) 在JSP中,要定义一个方法,需要用到以下( C )元素。 a) <%= %>b) <% %> c) <%! %>d) <%@ %>:jsp指令 8假定login.getName() 返回类型为https://www.sodocs.net/doc/971720415.html,ng.String,给定JSP代码: Welcome <%= login.getName() %>以下那个选项与此语句的功能相同? A A. Welocome<% out.print(login.getName());%> B. Welocome<% Writer.print(login.getName());%> C. Welocome<% response.out.print(login.getName());%> D. Welocome<% response.getwriter.write.(login.getName());%> Servlet 9在JSP页面中,正确引入JavaBean的是(C) A. <%jsp: useBean id =”myBean”scope =”page”class=”pkg.MyBean”%>

jsp内置对象实验练习

实验四JSP内置对象阶段实验 1.1 实验目的 1、熟悉与掌握 JSP 九大内置对象的使用 2、掌握重定向与服务器转发的使用 3、熟悉 MyEclipse 工程项目结构的设置 1.2 实验要求 1、本实验要求学生通过独立读程序,完成程序的填空 2、建立一个实现简单登陆功能的项目,按实验步骤完成代码。 1.3 实验内容 1.3.1 实现简单登陆功能 1、功能描述: (1)由于目前尚未学习数据库的使用,因此需要指定登陆的用户名和密码(自己设定,如:用户名:晚香玉,密码:123456,请结合自己的名字缩 写) (2)实现登陆表单login.jsp 图1 登陆界面 login.jsp (3 )编写dologin.jsp ,实现功能:登陆成功使用服务器内部转发到login_success.jsp 页面,并在该页面显示登陆成功的用户名。如果登陆失败则重定向到login_failure.jsp页面。

图2登陆成功界面 图3登陆失败界面 2、建立工程项目 (1)建立Web project项目,在WebRoot根目录下添加三个文件夹:assets(存放图像资源文件)、css(存放css样式文件)、js(存放js脚本文件)。 (2)将本实验报告文件夹中的assets、css文件中的内容复制到自己项目中对应的文件夹中。包括图像资源文件和写好的样式文件。 (3)按实验步骤 1.3.2完成实验 1.3.2 实验代码 1、login.jsp代码

2、dologin.jsp 代码 3、login_success.jsp代码

4、login_failure.jsp代码 5、运行

四大域对象-JSP九大内置对象-11个EL隐式对象

四大域对象详解 JSP中隐式对象的名称范围名称具体的类型 pageContext page javax.servlet.jsp.PageContext request request javax.servlet.ServletRequest (显示完数据就没有用了)session session javax.servlet.http.HttpSession (显示完数据了,过一会自己还要用) application application javax.servlet.ServletContext (显示完数据了,大家都要用。不建议使用,如果使用,必须同步处理) JSP九大内置对象 JSP的内置对象引用名称对应的类型 request HttpServletRequest response HttpServletResponse session HttpSession(有开关的:page指令的session属性的取值) application ServletContext config ServletConfig page this(当前Servlet对象) exception https://www.sodocs.net/doc/971720415.html,ng.Throwable(有开关的:page指令的isErrorPage属性改为true) out JspWriter pageContext javax.servlet.jsp.PageContext非常重要 pageContext有三大作用: 1、本身是一个域对象。同时还能操作其他三个域对象(PageContext ServletRequest HttpSession ServletContext) 本身表示的域范围是本页面。 void setAttribute(String name,Object value)

JSP9大内置对象

为简化页面的开发提供了一些内部的对象,在所有的JSP页面中都能使用这些内部对象。编写JSP的人员不需要对这些内部对象进行例化,只要调用其中的方法就能实现特定的功能。JSP主要有如下内置对象: 1.request对象 2.response对象 3.pageContext对象 4.session对象 5.application对象 6.out对象 7.config对象 8.page对象 9.exception对象 下面分别介绍这些对象的使用。 2.2.1:request对象 request对象代表请求的对象,它被包装成HttpServletRequest 接口。通过getParameter方法可以得到request的参数,通过GET、POST、HEAD等方法可以得到request的类型,通过Cookies、Referer等方法可以得到请求的Http头。 Request的主要方法有:

isUserInRole(String role):判断认证后的用户是否属于逻辑role 中的成员。 2.getAttribute(String name):返回由name指定的属性值,如果属性值不存在,则返回一个空值,即null。 3.getAttributeNames():返回request对象的所有属性的名字的集合,其结果是一个枚举的实例。 4.getCookies():返回客户端的所有Cookies对象,结果是一个Cookies数组。 5.getCharacterEncoding():返回请求中的字符编码方式。 6.getcontentLength():返回请求的Body的长度,如果不确定长度则返回-1。 7.getHeader(String name):获得Http定义的文件头信息。 8.getHeaders(String name):返回指定名字的request Header的所有值,其结果是一个枚举的实例。 9.getInputStream():返回请求的输入流,用于获得请求中的数据。 10.getMethod():获得客户端向服务器端传送数据的方法。 11.getParameter(String name):获得客户端传送给服务器端的参数值,该参数是由name指定的,通常是表单的控件的参数名。 12.getParameterNames(String name):获得客户端传送给服务器端的所有参数的名字,其结果是一个枚举的实例。 13.getParameterValues(String name):获得指定参数的所有值,参数由name指定。

黑马web阶段web试题学生版2

Web阶段Web试题 1. 动态网站的开发技术有(A) A. JSP B. HTML C. CSS D. JavaScript 下面哪个请求头信息可以实现防盗链(C) A. Location B. Refresh C. Referer D. If-Modified-Since 3. 在Web应用程序的文件与目录结构中,是放置在(A ) A. WEB-INF目录 B. conf目录 C. lib目录 D. classes目录 4. 下面哪一个指明向客户端发送的请求正文的MIME类型(A) A. Content-Type B. Content-Encoding C. Content-Length D. 全是 5. Servlet中,下面关于url配置方式正确的是(ABD) A. /my B. /my/* C. /*.do D. *.do

6. 继承HttpServlet编写的Servlet中获取ServletContext对象的方法下面正确的是(AB) A. getServletConfig().getServletContext() B. getServletContext() C. getServlet().getServletContext() D. () 7. 在servlet的生命周期中,servlet容器调用一次的方法是() A. service B. getServletConfig C. init D. destroy 8. HttpServlet中定义的doGet和doPost方法的参数类型有哪些(BC) A. ServletRequest B. HttpServletRequest C. HttpServletResponse D. ServletResponse 9. 以下哪种方式可以编写一个Servlet(ABC) A. 实现接口 B. 继承类 C. 继承类 D. 实现接口 10. 如果希望用户在访问完Servlet1后可以显示web应用目录下的页面,且浏览器地址栏改变为,在Servlet1中如下那种代码可以实现(web应用名为app)(BC) A. ("Refresh","0;url=/app/"); B. (302); ("Location","/"); C. ()+“/”); D. (“/”).forward(request,response);

jsp期末笔记整理2018

servlet与jsp 笔记 在java ee的开发中有几个重要的开发模式: 1.Model1模式 2.model2模式(model2x模式(用得少)) 3.mvc模式 一、Model1模式 model1模式可以分为两类: 1.Model1(纯jsp技术,不带任何java class)。 2.Model1(jsp+java class)。 Model1模式的缺点: 1.表现层和业务层混合在一起(乱!)。 2.在开发过程中,不利于多人协同开发。 3.不利于后期维护。 Model1模式的优点: 1.简单,开发速度较快。 2.比较适合开发小的项目。 二、model1(结合java class)开发模式 1.Jsp技术主要做界面,但是logincl.jsp这里调用了java class(模型),完成对用户验证,显得有点怪怪的。 2.Wel.jsp是用于显示用户信息(显示数据),但,wel.jsp除了显示数据,还调用了java class(模型),代码的优雅就荡然无存了,也不利于将来的分工。 三、mvc开发模式:M(model模型),V(view视图),C(controller控制器)。 MVC是一个设计模式,它强制性的使应程序的输入、处理、和输出分开。使用MVC应用程序分成三个核心部件:模型、视图、控制器。它们各自处理自己的任务。 M主要由java class来做,也可以是java bean、eib等 V由jsp来做 C由servlet来做 对上的例子进行改进: 1.增加控制器(servlet):将logincl.jsp用servlet来替代,发挥servlet充当控制中 转的优势。 2.在控制器(servlet)中去调用模型(model)去完成用户验证,并准备要显示的用户信息 数据。 MVC开发模式的总结: 处理过程:首先控制器接收用户的请求,并决定应该调用哪个模型来进行处理,然后调用模型来处理用户的请求并返回数据,最后控制器用相应的视图显示模型返回的数据,并通过浏览器呈现给用户。 Mvc模式存在的缺点: 1.工作量增加了。 这比起它所能带给我们的好处不值一提。 2.不适用小型项目。 3.调试应用程序难度加大。

基于JSP网上书店系统的设计与实现

摘要 JAVA语言是目前Internet上大型的WEB应用程序开发时使用得最热门的编程语言,本文描述了JAVA和JSP技术的特点以及在互联网上的使用情况,介绍这两种技术的重要编程方法和两者之关的联系,并完成一个基于这种技术的网上书店系统。 【关键字】JAVA, JavaBeans, Servlet, JSP, 网络编程, 电子商务, 网上书店 目录 前言 (2) 第1章概述 (3) 1.1 JSP简介和运行原理..................................................................................................... 错误!未定义书签。 1.2 开发背景 (3) 第2章需求分析.......................... 错误!未定义书签。 2.1 系统组成:.................................................................................................................... 错误!未定义书签。 2.2 系统要求配置................................................................................................................ 错误!未定义书签。第3章系统设计.. (6) 3.1 数据库设计 (7) 3.1.1 数据库需求分析 (7) 3.1.2 数据库逻辑结构设计 (9) 第4章详细设计 (11) 4.1 系统概述 (11) 4.1.1用户界面部分 (11)

JavaEE之JSP原理—写个简易计算器

什么是JSP JSP 全称为 Java Server Pages,是一种动态网页开发技术。其特点是使用JSP 标签在HTML 网页中插入Java代码。 JSP+Java类(service、JavaBean)+servlet,就构成了MVC 开发模式。MVC模式是目前软件公司中相当通用的开发模式(当然还有各种框架)。 下面我们来感受一下原始的JSP 的开发! (从基础一点一点的来,这样有利于后面我们了解框架) 还记得我们之前分享的web 程序的目录结构吗? 我们就按照这个结构 创建项目创建文件 <%@page language="java" contentType="text/html" pageEncoding="utf-8"%> 这一行代码就是告诉别人,我是一个jsp代码 out.println("Hello World ! 当前的日期是:" + new java.util.Date()); 这一段就是我们常用的Java代码

所以说JSP = html + java代码段+ JSP标签+ js + css 我们来运行一下看看效果! 还记得怎么启动tomcat 服务器吗?

我们来看一下jsp 代码! 看到这里是不是觉得有点熟悉呢!和我们之前分享的servlet很想是不是!所以说servlet 是jsp 的基础!了解了servlet 再看jsp 就会容易些

这是我们之前写的页面的代码!我们来看一下jsp 的工作原理

第一次访问时,首先访问tomcat 服务器,找到index.jsp 页面,然后 把index.jsp页面翻译成index_jsp.java 文件,在翻译成为index_jsp.class 文件装载的内存中,我们之后访问的话就会直接去内存中找这个实例对象! 注:第一次访问JSP 网站比较慢,如果某个JSP 被修改了相当于第一次访问该JSP。 JSP 需要了解的三个主要方法:

JSP基本语法及用法

JSP 基本语法一、本节内容 JSP文件的结构 JSP的脚本元素 JSP指令元素 JSP动作元素 1.1 jsp文件结构

1.1.1指令:在"<%@ " 和"%>"之间常用的指令有page、 taglib <%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%> 1.1.2注释:分为客户端注释和服务器端注释 1.客户端注释: 2.服务器端注释: <%-- 注释内容(可以是多行) --> <% //注释内容(只能是单行) %> <% /** 注释内容(可以是多行) */ %>

1.1.3 脚本 脚本在jsp文件有分为三种定义(声明)、输出和普通代码(脚本段) 1.1.3.1 定义(声明)JSP中脚本的定义格式<%! 定义语句%> 注意:如果在JSP中要定义函数,必须采用定义。如果要定义一个全局变量也必须采用定义,否则采用脚本段。 定义的变量是该JSP被转化为的java类的一个成员变量.(字段),也是全局变量。 功能:可以定义变量,函数(方法) 1.1.3.2 输出:格式<%= 输出表达式%> 切忌输出表达式后无分号,就等于<% out.print(输出表达式); %> 功能:在网页中输出表达式的值 示例: 在网页中输出变量name 的值 <%!String name="里斯"; %> 定义 <%=name %> <% out.println(name); %> 1.1.3.3 普通代码(脚本段)格式<% 代码段%>

功能: 普通的java代码,执行相应的运算等 复习扩展 客户端访问服务器我们称之为请求request 服务器将数据返回给客户端我们称之为响应response 请求request 是HttpServletRequest接口的一个实例对象它封装了我们请求服务器所携带的所有信息包括你请求的地址端口等 响应response 是HttpServletResponse接口的一个实例对象它封装了服务器返回给客户端的所有数据信息 request可以通过request.getParameter("test")获取请求表单中name为test的input对象的value 练习题目:根据用户输入的数字来打印直角三角形 比如用户输入的数字为4 那么打印的图形如下 * ** *** **** 题目分析: 分析一:如何根据数字打印图形 跟据数据打印图形规律 当用户输入的数字为1 时,打印1行,打印一个换行 当用户输入的数字为2 时,打印2行,第一行1个第二行2个 当用户输入的数字为3 时,打印3行,第一行1个第二行2个第三行 3

JAVA综合考试题(一)

JAVA综合考试题 一、不定选择题(每题2分,共40分) 1、下面那几个函数是public void method(){}的重载函数?() A、public void method(int m){} B、public int method(){} C、public void method2(){} D、ublic int method(int m,float f){} 2、有关线程的哪些叙述是对的() A、旦一个线程被创建,它就立即开始运行。 B、用start()方法可以使一个线程成为可运行的,但是它不一定立即开始运行。 C、一个线程因为抢先机制而停止运行,它被放在可运行队列的前面。 D、个线程可能因为不同的原因停止并进入就绪状态。 3、下面的哪些声明是合法的?() A、ong1=499 B、nt i=4L C、loat f=1.1 D、ouble d=34.4 4、下述代码的执行结果是() class Super{public int getLength(){return4;}} public class Sub extends Super{ public long getLength(){return5;} public static void main(String[]args){ Super sooper=new Super();Super sub=new Sub(); System.out.printIn(sooper.getLength()+“,”+sub.getLength() };} A、,4 B、,5 C、,4 D、,5 E、码不能被编译

5、关于Java语言,下列描述正确的是() A、witch不能够作用在String类型上 B、ist,et,ap都继承自Collection接口 C、ava语言支持goto语句 D、C是垃圾收集器,程序员不用担心内存管理 6、下面的代码实现了设计模式中的什么模式() public class A{ private A instance; private A(){} public static A getInstance{ if(A==null) instance=new A(); return instance;} } A、Factory B、Abstract Factory C、Singleton D、Builder 7、关于线程设计,下列描述正确的是() A、线程对象必须实现Runnable接口 B、启动一个线程直接调用线程对象的run()方法 C、Java提供对多线程同步提供语言级的支持 D、一个线程可以包含多个进程 8、TCP通信建立在连接的基础上,TCP连接的建立要使用几次握手的过程() A、2 B、3 C、4 D、5 9、下面哪些是Thread类的方法() A、start() B、run() C、exit() D、getPriority() 10、下列说法正确的有() A、class中的constructor不可省略 B、constructor必须与class同名,但方法不能与class同名 C、constructor在一个对象被new时执行 D、一个class只能定义一个constructor 11、下面程序的运行结果() public static void main(String args[]){ Thread t=new Thread(){

jsp九大内置对象和四大作用域详解

String getProtocol() 返回请求用的协议类型及版本号 String getScheme() 返回请求用的计划名,如:http.https及ftp等 String getServerName() 返回接受请求的服务器主机名 int getServerPort() 返回服务器接受此请求所用的端口号 BufferedReader getReader() 返回解码过了的请求体 String getRemoteAddr() 返回发送此请求的客户端IP地址 String getRemoteHost() 返回发送此请求的客户端主机名 void setAttribute(String key,Object obj) 设置属性的属性值 String getRealPath(String path) 返回一虚拟路径的真实路径

二、response对象:对象代表的是对客户端的响应,也就是说可以通过response 对象来组织发送到客户端的数据。但是由于组织方式比较底层,所以不建议普通读者使用,需要向客户端发送文字时直接使用。它是HttpServletResponse类的实例。作用域为page(页面执行期)。 String getCharacterEncoding() 返回响应用的是何种字符编码 ServletOutputStream getOutputStream() 返回响应的一个二进制输出流 PrintWriter getWriter() 返回可以向客户端输出字符的一个对象 void setContentLength(int len) 设置响应头长度 void setContentType(String type) 设置响应的MIME类型 sendRedirect(String location) 重新定向客户端的请求 三、session对象:指的是客户端与服务器的一次会话,从客户连到服务器的一个WebApplication开始,直到客户端与服务器断开连接为止。它是HttpSession 类的实例。作用域session(会话期—)。 long getCreationTime() 返回SESSION创建时间 public String getId() 返回SESSION创建时JSP引擎为它设的惟一ID 号 long getLastAccessedTime() 返回此SESSION里客户端最近一次请求时间 int getMaxInactiveInterval() 返回两次请求间隔多长时间此SESSION 被取消(ms) String[] getValueNames() 返回一个包含此SESSION中所有可用属性的数组 void invalidate() 取消SESSION,使SESSION不可用 boolean isNew() 返回服务器创建的一个SESSION,客户端是否已经加入 void removeValue(String name) 删除SESSION中指定的属性 void setMaxInactiveInterval() 设置两次请求间隔多长时间此SESSION 被取消(ms) 四、out对象:out对象是JspWriter类的实例,是向客户端输出内容常用的对象。作用域为page(页面执行期)。 voidclear()清除缓冲区的内容 voidclearBuffer()清除缓冲区的当前内容 voidflush()清空流 intgetBufferSize()返回缓冲区以字节数的大小,如不设缓冲区则为0 intgetRemaining()返回缓冲区还剩余多少可用 booleanisAutoFlush()返回缓冲区满时,是自动清空还是抛出异常 voidclose()关闭输出流

JSP常用知识点

JSP常见指令 Jsp包含三个编译指令和七个动作指令。 三个编译指令为:page、include、taglib。 七个动作指令为:jsp:forward、jsp:param、jsp:include、 jsp:plugin、jsp:useBean、jsp:setProperty、jsp:getProperty。 一、编译指令 1、page指令 a. 通常位于jsp页面的顶端,同一个页面可以有多个page指 令。语法格式如下: 〈% @page [language="Java"] [extends="package.class"] [import= "package. class I package. *},…"] [session="rue I false"] [buffer="none I 8kb I size kb" 1 [autoFlush="true I false"] [isThreadSafe="true I false"] [info="text"] [errorPage="relativeURL"] [contentType="mimeType[ ;charset=characterSet]" I"text/html;charset= "808859-1"] [isErrorPage=" true I false"] %〉 i. language属性,一般情况就是java,代表jsp页面使 用的脚本语言。 ii. Extends属性,确定 JSP 程序编译时所产生的 Java 类,需要继承的父类,或者需要实现的接口的全限 定类名。 iii. import属性,用来导入包,下面几个包是默认自动 导入的,不需要显式导入。默认导入的包有: https://www.sodocs.net/doc/971720415.html,ng.* javax.servlet.*

相关主题