JSP中request.getParameter()和session.getAttribute()的区别

JSP中request.getParameter()和session.getAttribute()有没有区别,它们各自适合那些场合
request.get()是从上一个页面用户提交的数据中取得,
而session存在范围是用户这一次看你的网站。

比如用,用户需要密码才能访问你的网站,用户初次登录时,你可以把变量设到SESSION里,以后只要检查SESSION里的变量就可以知道用户是否已经在登录状态。

●request.getParameter()
request 是请求,即把需要的参数得到,一般是从上一个页面用户提交的数据中得到
●session.getAttribute()
session 是用来保持会话的连接,说明见上面
1,request.getParameter() 得到客户端数据
2,session.getAttribute() 存入变量以便让更多页面可以得到该变量,通过设置存在时间,可以用在是否在线,是否已登录等场合
request.getParameter()是从上一个页面用户提交的数据中取得,
session.getAttribute()在整个会话期间都有效,这样可以方便的多次获得该变量
request.getParameter()上一个页面提交的。

比如 form 里的或者是url 里的。

session.getAttribute()是在用户的整个会话期有效。

这个问题主要是request和session的差别,request范围较小一些,只是一个请求,简单说就是你在页面上的一个操作, request.getParameter()就是从上一个页面中的url、form中获取参数,但如果一个request涉及多个类,后面还要取参数,可以用
request.setAttribute()和request.getAttribute(),但是当结果输出之后,request就结束了。

而session可以跨越很多页面,可以理解是客户端同一个IE窗口发出的多个请求。

这之间都可以传递参数,比如很多网站的用户登录都用到了。

合集下载

脚本语言和互动网设计课程网上作业单选题答案

脚本语言和互动网设计课程网上作业单选题答案

1:下述选项中不属于JDBC基本功能的是:()1.与数据库建立连接2.提交SQL语句3.处理查询结果4.数据库维护管理2:在page指令中,()属性是可以在页面中重复的的属性。

nguage2.buffer3.import4.autoFlush3:下面哪种数据类型是基本数据类型()。

1.class2.interface3.数组4.char4:下列哪种数据类型是引用类型()。

1.boolean2.int3.interface4.long5:在JSP中使用<jsp:getProperty>标记时,不会出现的属性是:()2.property3.value4.以上皆不会出现6:不能在不同用户之间共享数据的方法是()1.通过cookie2.利用文件系统3.利用数据库4.通过ServletContext对象7:能够获取当前页信息并调用页面方法的对象是()。

1.request2.page3.pageContext4.session8:可以取得用交提交的参数的所有记录值的方法是()1.getParameter()2.getAttribute()3.getParameterValues()4.getSession()9:下面哪一个运算符有3个操作数()。

1.*2.++3.&&4.:10:以下文件名后缀中,只有()不是静态网页的后缀。

1..html2..htm3..jsp4..shtml11:以下选项中,哪一项不是JSP指令()。

1.page2.import3.include4.taglib12:实际开发中使用Session可以设置访问的安全性,请选择Session所设置的属性的数据类型()1.String2.Int3.Object4.vector13:下面哪个语句是条件语句()。

1.break语句2.while语句3.if语句4.for语句14:以下操作中,()是与使用JavaBean无关的。

jsp大学期末考试试题及答案

jsp大学期末考试试题及答案

jsp大学期末考试试题及答案一、选择题(每题2分,共20分)1. Jsp页面中,用于获取请求参数的表达式是()。

A. request.getParameter()B. request.getAttribute()C. response.getWriter()D. session.getAttribute()答案:A2. 在JSP中,用于包含其他JSP页面的指令是()。

A. <jsp:forward>B. <jsp:include>C. <jsp:useBean>D. <jsp:setProperty>答案:B3. 下列哪个不是JSP内置对象()。

A. requestB. responseC. sessionD. bean答案:D4. 在JSP中,用于声明变量、方法或初始化块的脚本元素是()。

A. <%! ... %>B. <% ... %>C. <%@ ... %>D. <%= ... %>5. 以下哪个标签不是JSTL核心标签库的一部分()。

A. <c:if>B. <c:forEach>C. <c:out>D. <sql:query>答案:D6. 在JSP中,用于将JavaBean属性与JSP页面属性绑定的标签是()。

A. <jsp:useBean>B. <jsp:setProperty>C. <jsp:include>D. <jsp:forward>答案:B7. 对于JSP页面的错误处理,以下说法错误的是()。

A. 可以使用try-catch块来处理异常B. 可以使用<%@ page errorPage="error.jsp" %>指令指定错误处理页面C. 所有的错误都会自动跳转到错误处理页面D. 可以使用page指令的isErrorPage属性来指定当前页面是否为错误处理页面答案:C8. 在JSP中,用于声明使用JSTL标签库的指令是()。

getparameter方法

getparameter方法

getparameter方法getParameter方法是Java中HttpServletRequest接口的一个方法,它用于从web浏览器或客户端接收交互参数。

这是一种常用的方法,用于从服务器上获取请求参数,可以被更多的Java web项目所应用。

getParameter方法接收一个参数,这个参数是由客户端(也就是浏览器)传递过来的某个值,如果客户端传递了多个参数,可以使用getParameterNames()来获取所有参数,然后使用getParameter(String name)来获取具体参数值。

getParameter方法是一个涉及多种参数类型的异常处理方法,参数类型由客户端传递过来,包括String, Integer, Float, Boolean, Array,并可以转换成期望的类型。

getParameter方法的主要作用是从客户端获取特定的参数值,例如在不同的页面中,需要取出一个特定的参数值,可以使用getParameter方法,以此来获取参数值,以便后续操作。

还可以使用getParameterMap()方法来获取所有的请求参数,并且可以将参数映射到特定的key,以便后续操作。

getParameter方法常常用于处理表单提交的数据,用于从表单中获取特定的参数值,例如表单中的用户名,密码等,可以使用getParameter方法来获取这些参数的值,用于后续的处理。

此外,getParameter可以获取从请求头中传递过来的参数,用于处理请求头中的内容,比如处理cookie或者对请求头的基本权限的认证。

使用getParameter方法时,要注意参数类型的正确性,它最好只用于处理String类型的参数,如果需要处理Integer或者其他类型的参数,则要先将参数值转换为期望的类型,例如使用Integer.parseInt()将字符串转换为整型。

此外,参数的安全性也要被注意,尤其是在处理表单传输的数据时,要做好参数安全过滤操作,避免参数中存在恶意字符等不安全的内容。

JSP课程各章节选择题答案解析

JSP课程各章节选择题答案解析

JSP课程各章节选择题答案解析第⼀章1)如果做动态⽹站开发,以下()可以作为服务器端脚本语⾔。

A.HTML B.JSP C.JavaScript D.Java2)在设计Web项⽬的⽬录结构时,⼀般吧JSP 和HTML⽂件放在()下。

A.src⽬录B.⽂档根⽬录或其⼦⽂件下C.META-INT⽬录D.WEB-INF⽬录3)在Web项⽬的⽬录结构中,web.xml⽂件位于()中。

A.src⽬录B.⽂档根⽬录C.META-INF⽬录D.WEB-INF⽬录4)下⾯对于B/S架构与C/S架构的描述错误的是()。

A.B/S架构解决了C/S架构的弊端,因⽽在程序开发中将会逐步取代C/S架构B.B/S机构是基于internet⽹络实现的,使得⽤户访问的范围扩⼤C.C/S架构师基于局域⽹实现的,当程序发⽣改的后,需要对每⼀个客户端进⾏维护D.C/S可以设计出丰富的界⾯,⽽B/S 则相对处于劣势5)以下选项中()是正确的URL,(选两项)A./doc/69c0f9a1f71fb7360b4c2e3f5727a5e9856a270d.html /talk/talk1.htmB.ftp:///doc/69c0f9a1f71fb7360b4c2e3f5727a5e9856a270d.htmlC./doc/69c0f9a1f71fb7360b4c2e3f5727a5e9856a270d.html D./news/welcome.html第⼆章6)在某个JSP页⾯中存在这样⼀⾏代码,<%= “2” + “4” %> 运⾏该JSP后,以下说法正确的是()。

A.这⾏代码没有对应的输出B.这⾏代码对应的输出时6C.这⾏代码对应的输出时24 D.这⾏代码将引发错误7)与page指令<%@ page import= “java.util.*, java.text.* “ %> 等价的是()。

A.<%@ page import= “java.util.* %><%@ page import= “java.text.* “ %>B.<%@ page import= “java.util.*”, import= “java.text.* “ %>C.<%@ page import= “java.util.* “; %><%@ page import= “java.text.* “; %>D.<%@ page import= “java.util.* ; java.text.* “ %>8)下列选项中,()是正确的表达式。

request和session获取方法

request和session获取方法

request和session获取方法Request和Session是两个常用的概念,用于在Web开发中获取和存储用户相关的信息。

本文将详细介绍Request和Session的概念、用法和获取方法。

一、Request是什么?1. 概念:Request是指用户发出的HTTP请求,其中包含用户的一些信息,如请求路径、请求方法、请求头、请求参数等。

2. 作用:Request用于获取用户的请求信息,以便服务器能够根据用户的需求做出相应的响应。

二、Session是什么?1. 概念:Session是Web开发中的一个概念,指的是在服务器端存储用户相关信息的一种机制。

2. 作用:Session用于在多个请求之间保持用户的状态,使得服务器能够区分不同的用户并提供个性化的服务。

三、获取Request的方法1. 获取请求路径:可以通过Request对象的getRequestURI(方法获取当前请求的路径。

例如:```javaString uri = request.getRequestURI(;```2. 获取请求方法:可以通过Request对象的getMethod(方法获取当前请求的方法。

例如:```javaString method = request.getMethod(;```3. 获取请求头:可以通过Request对象的getHeader(方法获取指定请求头的值。

例如:```javaString userAgent = request.getHeader("User-Agent");```4. 获取请求参数:可以通过Request对象的getParameter(方法获取指定参数的值。

例如:```javaString username = request.getParameter("username");```5. 获取请求体:如果是POST请求,并且请求体中包含数据,可以通过Request对象的getInputStream(方法获取请求体的流。

JSP动态网站设计1~8章答案(清华第二版)

JSP动态网站设计1~8章答案(清华第二版)

第1章:参考答案:一、填空题(1)HTTP、HTML、RSS/ATOM(2)Java Server Pages、Sun Microsystem、Java(3)path、classpath、C:\jdk\bin、.;C:\Java\jdk\lib\da.jar;C:\Java\jdk\lib\tools.jar;(4)JSP、Servlet二、选择题1-5:ABCD、ABD、D、D、D第2章:参考答案:实验指导:2.5.1.第一处需要填写的代码:page contentType="text/html;charset=GB2312" import="java.util.*;"第二处需要填写的代码:break;2.5.2.第一处需要填写的代码:int i=1;i<=n;i++第二处需要填写的代码:sum=Factorial(j);2.5.3.第一处需要填写的代码:page="jspinclude.jsp"/第二处需要填写的代码:i>0;i--习题集:一、填空题(1)include 、page(2)i++; double p=(a[0]+a[1]+a[2])/2;(3)Math.PI*2*r; double r;(4)声明了一个long型变量sum:然后调用方法continueSum,将调用方法continueSum得到的值显示到客户:1到101的连续和是:5151您计算的项数超过100项了。

(5)year%4==0 year%100==0 year%400==0二、选择题1-3:B、A、B第3章答案:3.6.1.第一处需要填写的代码:String username=request.getParameter("username");第二处需要填写的代码:"admin".equals(username)&&"admin".equals(password) 3.6.2.第一处需要填写的代码:!goodsName.equals("")第二处需要填写的代码:list.add(goodsName);3.6.3.第一处需要填写的代码:oCount==null第二处需要填写的代码:String dateTime = dateFm.format(new java.util.Date()); 第二处需要填写的代码:一、填空题(1)session、application、request、response、out。

JSP 获取请求参数

JSP 获取请求参数在Web应用程序中,经常还需要完成用户与网站的交互。

例如,当用户填写表单后,需要把数据提交给服务器处理,服务器获取到这些信息并进行处理。

在JSP程序中,完成从客户端获取数据的方法可以是getParameter()、getParam eterName()和getParameterValues(),其中比较常用的为getParameter(),该方法的语在使用request对象获取参数的过程中,从JSP页面的URL查询字符串得到信息并将其传递过来时,服务器程序容器将这些信息作为一列Java的String对象来提供,这些字符串代表参数名称和参数值。

通常情况下,当一个浏览器向Web站点提出页面请求时,首先要向服务器发送连接请求,请求的内容包括服务器地址、所请求页面的路径等。

接着服务器会将请求的路径和页面的路径组合成确定所请求的页面,最后将返回到客户端。

客户端向服务器发送数据时,通常采用GET方法或POST方法。

●GET方法GET方法只适合于传递数据比较少的情况。

它传递数据时有两种形式,一种是在所请求页面的URL后添加数据,这样被传递的数据与页面URL之间通过问号隔开。

当有多个值要传递进,多个值之间使用符号“&”分隔开。

例如,“http://whf:8080/Test/test.jsp?name=admin&psw=123”,其中问号(?)后面为传递的内容,如name和psw为变量名,而admin和123分别为变量对应的值。

另一种通过GET方法传递数据的方式,如通过Web页面中使用HTML表单,并设置form表单中method属性值为GET。

●POST方法POST方法只能由Web页面的HTML表单来实现,即设置form中method属性值为POST。

这种方法提交的数据是以单独的模块发送到服务器中,而不会在链接地址URL中附加任何数据。

与GET方法相比,POST方法在向服务器传递信息时比较安全。

jsp中session的用法

Session相当于一个数据容器,一个用户只分配一个session,由系统在用户第一次使用时自动创建,程序只要获得即可,当用户没有再请求系统,并且过了有效时间段则失效,主要用于同一个用户在不同的页面中共享信息。

例:建立index.jsp ,session.jsp ,link.jsp next.jsp 验证session的用法。

1 、建立index.jsp以便输入姓名,并传给session存储<form method="post"action=session.jsp>姓名:<input type=text name=name><br><input type=submit value="确定"></form>2、建立session.jsp用来存储从index.jsp中传来的值<%String name=newString(request.getParameter("name").getBytes("UTF-8"),"GBK"); //把接收到的值映射为myname字段,存数据session.setAttribute("myname",name);%>我的名字:<%out.println(name);%><!--添加超链接,跳转--><a href=link.jsp>link</a>3、建立link.jsp用来接收session值,并打印<%//用于接收并存储字符串变量的值,取数据String name=(String )session.getAttribute("myname");%>我的名字11:<%out.println(name);%><a href=index.jsp>首页</a><a href=next.jsp>next</a>4、建立next.jsp接受session值<%//接收session.jsp中存储的字符串的值String name=(String)session.getAttribute("myname"); %>我的名字2:<%out.println(name);%><a href=index.jsp>首页</a><a href =next.jsp>next</a>。

JSP内置对象实验报告

JSP程序设计实验报告(三)院系:计算机科学与工程学院【实验题目】JSP内置对象【实验目的】1、了解JSP中4个内置对象request、reponse、session、pagecontext的基本概念。

2、理解JSP内置对象的常用方法的功能。

3、掌握JSP内置对象的应用。

【实验内容】1、request对象:客户端的请求信息被封装在request对象中,通过它才能了解到客户的需求,然后做出响应。

它是HttpServletRequest类的实例。

2、response对象:response对象包含了响应客户请求的有关信息,但在JSP中很少直接用到它。

它是HttpServletResponse类的实例。

3、session对象:session对象指的是客户端与服务器的一次会话,从客户连到服务器的一个WebApplication开始,直到客户端与服务器断开连接为止。

4、pageContext对象:pageContext对象提供了对JSP页面内所有的对象及名字空间的访问,也就是说他可以访问到本页所在的SESSION,也可以取本页面所在的application 的某一属性值,他相当于页面中所有功能的集大成者。

5、练习(自己完成)【实验代码】实验1 request对象使用<%@ page language="java" import="java.util.*" pageEncoding="GBK"%> <%String path = request.getContextPath();String basePath = request.getScheme() + "://"+ request.getServerName() + ":" + request.getServerPort()+ path + "/";%><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"><html><head><base href="<%=basePath%>"><title>My JSP 'index.jsp' starting page</title></head><body bgcolor="#FFFFF0"><form action="" method="post"><input type="text" name="qwe"><input type="submit" value="提交"></form>请求方式:<%=request.getMethod()%><br>请求的资源:<%=request.getRequestURI()%><br>请求用的协议:<%=request.getProtocol()%><br>请求的文件名:<%=request.getServletPath()%><br>请求的服务器的IP:<%=request.getServerName()%><br>请求服务器的端口:<%=request.getServerPort()%><br>客户端IP地址:<%=request.getRemoteAddr()%><br>客户端主机名:<%=request.getRemoteHost()%><br>表单提交来的值:<%=request.getParameter("qwe")%><br><%String str = "";if (request.getParameter("qwe") != null) {Enumeration enumt = request.getParameterNames();while (enumt.hasMoreElements()) {str = enumt.nextElement().toString();out.println(str + ":" + request.getParameter(str) + "<br>");}}%></body></html>实验2 response对象<%@ page language="java" import="java.util.*" pageEncoding="gbk"%> <%String path = request.getContextPath();String basePath = request.getScheme() + "://"+ request.getServerName() + ":" + request.getServerPort()+ path + "/";%><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"><html><head><base href="<%=basePath%>"><title>你想重定向去哪个网站?</title></head><body><%String address = request.getParameter("where");if (address != null) {if (address.equals("sohu"))response.sendRedirect("");else if (address.equals("avceit"))response.sendRedirect("");else if (address.equals("mypage"))response.sendRedirect("mypage.jsp");}%><b>Please select:</b><br><form action="" method="GET"><select name="where"><option val ue="sohu" selected>go to sohu</option><option value="avceit">go to avceit</option><option value="mypage">go to mypage</option></select><input type="submit" value="go"></form></body></html>实验3 session对象使用<%@ page language="java" import="java.util.*" pageEncoding="gbk"%> <%String path = request.getContextPath();String basePath = request.getScheme() + "://"+ request.getServerName() + ":" + request.getServerPort()+ path + "/";%><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"><html><head><base href="<%=basePath%>"><title>My JSP 'index.jsp' starting page</title></head><body><br>session的创建时间:<%=session.getCreationTime()%>&nbsp;&nbsp;<%=newDate(session.getCreationTime())%><br><br>session的Id号:<%=session.getId()%><br><br>客户端最近一次请求时间:<%=session.getLastAccessedTime()%>&nbsp;&nbsp;<%=newjava.sql.Time(session.getLastAccessedTime())%><br><br>两次请求间隔多长时间此SESSION被取消(ms):<%=session.getMaxInactiveInterval()%><br><br>是否是新创建的一个SESSION:<%=session.isNew()?"是" : "否"%><br><br><%session.setAttribute("name", "火星人");session.setAttribute("nmber", "1234567");%><%String str;//Enumeration为枚举类Enumeration<String> enum1=session.getAttributeNames();while(enum1.hasMoreElements()){str=enum1.nextElement().toString();out.println(str+":"+session.getAttribute(str)+"<br>");}%><br></body></html>实验4 pageContext对象使用<%@ page language="java" import="java.util.*" pageEncoding="gbk"%> <%String path = request.getContextPath();String basePath = request.getScheme() + "://"+ request.getServerName() + ":" + request.getServerPort()+ path + "/";%><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"><html><head><base href="<%=basePath%>"><title>pageContext对象举例</title></head><body><%request.setAttribute("name", "软件001");session.setAttribute("name", "软件002");application.setAttribute("name", "编程001");%>request设定的值:<%=pageContext.getRequest().getAttribute("name")%><br>session设定的值:<%=pageContext.getSession().getAttribute("name")%><br>application设定的值:<%=pageContext.getServletContext().getAttribute("name")%><br>范围1内的值:<%=pageContext.getAttribute("name", 1)%><br>范围2内的值:<%=pageContext.getAttribute("name", 2)%><br>范围3内的值:<%=pageContext.getAttribute("name", 3)%><br>范围4内的值:<%=pageContext.getAttribute("name", 4)%><br><!--从最小的范围page开始,然后是reques、session以及application--><%pageContext.removeAttribute("name", 3);%>pageContext修改后的session设定的值:<%=session.getAttribute("name")%><br><%pageContext.setAttribute("name", "应用技术培训", 4);%>pageContext修改后的application设定的值:<%=pageContext.getServletContext().getAttribute("name")%><br>值的查找:<%=pageContext.findAttribute("name")%><br>属性name的范围:<%=pageContext.getAttributesScope("name")%><br> </body></html>【实验结果】request对象:response对象:、session对象:pageContext对象:【实验心得】通过本次实验,我知道了如何在JSP页面中实现使用request、reponse、session、pagecontext4个内置对象,对这四个内置对象有了一定的了解,并且对JSP编程更加得心应手。

第三章:JSP内置对象 (request对象、response对象session对象、application对象、cookie)

第三章:Jsp隐式对象(request对象、response对象session对象、application对象、cookie)Jsp隐式对象概述:由JSP规范提供,不用编写者实例化。

通过Web容器实现和管理。

所有JSP页面均可使用。

只有在脚本元素的表达式或代码段中才可使用(<%=使用内置对象%>或<%使用内置对象%>)。

常用九大内置对象的作用和方法1、out对象:代表提供输出流的访问。

2、request对象:request对象是从客户端向服务器端发出请求,包括用户提交的信息以及客户端的一些信息。

常用方法:getparameter()getParameterValues()setAttribute() getAttribute()3、response对象:允许直接访问HttpServletResponse对象常用方法:sendRedirect()4、session对象:允许直接访问HttpServletResponse对象常用方法:setAttribute()、getAttribute()5、application对象:用于多个程序或者多个用户之间共享数据。

常用方法:setAttribute()、getAttribute()6、config :将初始化数据传递给一个JSP页面7、page :代表JSP页面对应的Servlet类实例8、exception:针对错误网页,未捕捉的例外9、pageContext :管理网页的属性内置对象的作用域:◆application:服务器启动到停止这段时间◆session:HTTP会话开始到结束这段时间◆request:HTTP请求开始到结束这段时间◆page:当前页面从打开到关闭这段时间对于每一个用户都共享同一个对象的是:application对象,而每个用户分别使用不同对象实例的是:session对象forword和sendRedirect的区别:forword仅是容器中控制权的转向,在客户端浏览器地址栏中不会显示出转向后的地址;sendRedirect则是完全的跳转,浏览器将会得到跳转的地址,并重新发送请求链接getParameter(String name);例题一:文件名:input.html<html>< body bgcolor="white"><font size=1><form action="requestdemo1.jsp" method=post name=form><input type="text" name="boy"><input type="submit" value="Enter" name="submit"></form></font></body></html>文件名:requestDemo1.jsp:<%@ page contentType="text/html;charset=GB2312" %><html><body bgcolor="white"><font size=4><p>获取文本框提交的信息:<%String strContent=request.getParameter("boy");%><%=strContent%> // 输出文本框boy提交的信息<p> 获取按钮的名字:<%String strButtonName=request.getParameter("submit");%><%=strButtonName%> // 输出按钮的value名字</font></body></html>例题二:设计一个简单的“JSP程序设计网上测试系统”,如下图所示。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
相关文档
最新文档