版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
2.1任务1:获取管理员的登录请求任务描述为主页添加登录表单,并在获取用户的登录信息之后,根据判断条件完成相应的数据传递和页面跳转。任务描述技能目标使用request对象获取用户请求使用response对象处理响应使用请求转发和重定向控制页面跳转技能目标2.1.1JSP内置对象概述
JSP内置对象,也称为隐式对象,是由Web容器自动加载,不需要声明就可以直接在JSP页面中使用的对象。2.1.2out对象out对象是javax.servlet.jsp.JspWriter类的一个实例,主要用于向客户端浏览器输出数据。2.1.3request对象request对象是javax.servlet.http.HttpServletRequest类的一个实例。每当客户端请求一个JSP页面时,JSP引擎就会创建一个新的request对象来代表这个请求。2.1.3request对象当使用JSP默认模板创建页面时,文件开头会自动生成如下代码:<%Stringpath=request.getContextPath();StringbasePath=request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";%>这个语句用来拼装当前网页的相对路径。其中,request.getSchema()返回当前使用的协议(http);request.getServerName()返回当前页面所在的服务器名字(localhost);request.getServerPort()返回当前页面所在的Web容器使用的端口(8080);request.getContextPath()返回当前页面所在的Web应用根目录(MyApp)。2.1.3request对象basePath变量一般和base标签联合使用,<basehref="...">用来表明当前页面的相对路径所使用的基准路径。
在JSP默认模板中的<basehref="<%=basePath%>">就是用来表明当前页面无论在哪级目录下,寻找资源的基准路径都是Web应用根目录。【JSP默认模板中的basePath】2.1.3request对象【语法】<formaction="url"method="get|post"enctype="mime"target="...">…</form>【功能】用于声明表单,定义数据采集范围,<form>和</form>之间的数据将被提交到Web服务器上。【属性】
action="url"用来指定当提交表单时,向何处发送表单数据(默认提交到当前页)。
method="get|post"指明提交表单的HTTP方法,默认为get。enctype="mime"指明把表单提交给服务器时(当method值为"post")的互联网媒体形式。这个特性的缺省值是"application/x-www-form-urlencoded"。target=“...”指定结果文档的显示位置(target=“_blank”;target=“_self”;target=“_parent”;target=“_top”)【form表单】2.1.3request对象getParametergetParameterValues【获取表单数据】2.1.4response对象response对象是javax.servlet.http.HttpServletResponse类的一个实例。当服务器创建request对象时会同时创建一个用于响应当前客户端的response对象。2.1.4response对象【设置页面数据的输出类型】使用response对象的setContentType(Stringtype)方法可以设置页面的contentType(输出类型)属性值。
text/html:网页
text/plain:纯文本
application/x-msexcel:Excel文件
application/msword:Word文件2.1.4response对象【设置应答报文的首部字段值】使用response对象的setHeader(Stringname,Stringvalue)方法可以设置HTTP响应报文的首部字段和值。2.1.4response对象【重定向与请求转发】1、重定向在某些情况下,当响应客户请求时,服务器需要引导客户端重新请求另一个页面,即重定向。这就需要用到response对象的sendRedirect(Stringurl)方法。2、请求转发请求转发是一种服务器行为,客户端只需发出一次请求,服务器将该请求转发之后,会继续使用当前的request请求对象,而非新建。2.1.4response对象【URL查询字符串的应用】1、重定向中使用查询字符串如果需要在重定向的情况下将简单数据(如整数、字符串等)传递给目标页面,可以使用查询字符串(QueryString)实现。代码如下:response.sendRedirect("welcome.jsp?username="+name);由用“=”连接的键-值对组成,通过“?”连接在URL地址后面,多个键-值对可用“&”符号进行分隔,
如:response.sendRedirect("welcome.jsp?username=tom&pwd=123")。
在目标页welcome.jsp中获取查询字符串的方法和获取请求参数的方法类似,例如:Stringname=request.getParameter("username");//对应值tomStringage=request.getParameter("pwd");//对应值123其中,传给方法的参数必须和查询字符串中的键一一对应。2.1.4response对象【URL查询字符串的应用】2、超链接中使用查询字符串在实际的Web应用中,网页上会有很多超链接,点击这些超链接便会打开一个新页面,显示与之相关的信息。任务实现拓展与提高
JSP动作元素是一种特殊的标签,是JSP页面元素之一,以jsp作为前缀,可以实现多行Java代码实现的效果,它在客户端发出请求时动态执行。
<jsp:forward>可以用于实现请求转发。总结JSP内置对象概述
out对象
request对象
response对象:请求转发和重定向的区别
谢谢大家观看
2.2任务2:实现页面的访问控制任务描述实现用户主页的访问控制。在没有登录的情况下,直接访问用户主页,提示“您还没有登录!”;成功登录之后,在没有关闭浏览器的前提下,即使在一个新窗口中也能正常访问该用户主页。任务描述技能目标掌握session的原理及应用掌握include指令的应用技能目标2.2.1session对象就Web开发来说,一个会话是指在一段时间内,单个客户通过浏览器与Web服务器的一连串不中断的交互过程。2.2.1session对象
session对象是javax.servlet.http.HttpSession类的一个实例,该对象允许用户访问会话的相关信息,并绑定数据到会话中。绑定到会话中的数据可以在多次请求中持续有效。2.2.1session对象2.2.1session对象【使用session对象实现访问控制】2.2.1session对象【使用session对象实现访问控制】2.2.1session对象【会话的时效】1、会话超时
:是指两次请求的时间间隔超过了服务器允许的最大时间间隔。1)通过session对象的setMaxInactiveInterval(intinterval)方法设置2)在项目的web.xml中设置,代码段如下:<session-config><session-timeout>10</session-timeout></session-config>3)通过Web容器进行设置,在Tomcat目录/conf/web.xml中找到<session-config>元素,其中<session-timeout>元素中的30就是默认时间间隔,单位为分钟,可以对其进行修改。会话是有时效的,使会话失效的方法有两种:2.2.1session对象2、手动调用方法设置会话失效。1)invalidate()方法实现的,主要应用于用户注销的场合。2)session对象的removeAttribute(Stringkey)方法将指定对象从会话中清除,而会话仍然有效。2.2.2include指令include指令用于在JSP转译期间将HTML文件或JSP页面嵌入到另一个JSP页面,即在JSP页面出现该指令的位置处静态插入一个HTML文件或JSP页面。【语法】
<%@includefile="文件相对路径"%>
注意:include指令只有一个file属性,表示被包含的文件路径。在多个页面中实现访问控制时,出现的重复编码问题也可以通过include指令来解决。任务实现拓展与提高<jsp:include>是JSP动作元素之一,此动作允许将文件插入到正在生成的页面中。【语法】<jsp:includepage="目标文件"flush="true"/>其中,page表示要包括的页面的相对URL;flush表明在包含资源前是否刷新缓存区。该动作还可以通过如下形式进行参数的传递。<jsp:includepage="目标文件"><jsp:paramname="参数名"value="参数值"/>
</jsp:include>总结session对象 include指令
谢谢大家观看
2.3任务3:统计网站的访问次数任务描述在漫画网站主页显示网站访问量。任务描述技能目标掌握对象的作用域掌握application的原理及应用了解其他内置对象的作用技能目标2.3.1application对象
application对象从服务器的角度而言,可以视为一个所有联机用户共享的数据存储区,它是javax.servlet.ServletContext类的实例,类似于应用程序的“全局变量”,可以被应用内的所有用户共享。2.3.1application对象2.3.2对象的作用域在JSP中,提供了四种作用域,分别是page作用域、request作用域、session作用域和application作用域;它们分别由JSP内置对象pageContext、request、session和application实现。存入pageContext对象中的变量只在当前jsp页面有效;存入request对象中的变量只在当前请求周期内有效;存入session对象中的变量只在当前会话范围内有效;存入application对象中的变量在整个Web应用范围内有效。每个作用域对象存取数据的方法都是一样的:用setAttribute(Stringkey,Objectvalue)方法存数据;用ObjectgetAttribute(Stringkey)方法取数据。2.3.3其他内置对象一、page对象page对象是指向当前JSP页面程序本身的对象,有点像类中的this。page对象其实是Object类的实例,它可以使用Object类的方法,例hashCode()、toString()等。page对象在JSP程序中的应用不是很广。二、config对象Web容器在初始化时使用一个config对象向JSP页面传递配置信息,包括初始化参数(在当前Web应用的应用部署描述文件web.xml中定义)以及表示JSP页面或Servlet所属Web应用的ServletContext对象(即application对象)。三、exception对象exception对象是Throwable子类的一个实例(如java.lang.NullPointerException),仅在错误页面中可用。JSP提供了一个选项用来为JSP页面指定错误页面。每当页面引发异常时,JSP容器将自动调用错误页面。任务实现拓展与提高一、session对象JSP默认启用会话跟踪,并为每个新客户端自动实例化一个新的HttpSession对象。可以通过将页面指令中的会话属性设置为false来禁用会话跟踪,语法如下:<%@pagesession="false"%>二、URL重写URL重写就是利用get方法,在URL尾部添加额外的参数来达到会话跟踪的目的。可以在每个网址的末尾附加一些用于标识会话的数据,服务器可以将该会话标识符与其关于该会话存储的数据相关联。例如,利用/file.html?sessionid=123456这一URL,Web服务器可以识别相应的客户端。三、隐藏的表单域Web服务器可以发送隐藏的HTML表单域以及唯一的会话ID,例如:<inputtype="hidden"name="sessionid"value="123456">每次客户端浏览器发送请求时,session_id值都可以用于跟踪不同的Web浏览器。但点击常规超链接(<ahref="...">)不会产生表单提交,因此隐藏表单域不能支持常规会话跟踪。拓展与提高四、CookiesCookie是存储在客户端的文本文件,一般用于保存轨迹信息。JSP显然提供对HTTPcookie的支持。通常
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 湛江市徐闻县曲界镇社区工作者招聘考试题目
- 烟台市海阳市徐家店镇社区工作者招聘考试题目
- 滨州市阳信县水落坡镇社区工作者招聘考试题目
- 政治学科教育实习教学设计
- 2026年职业健康培训考试试题及答案
- 2026年绿色信贷政策与保险社会责任
- 手术分级管理培训试题和答案
- 内蒙古自治区2026年银行业专业人员初级职业资格考试(银行业法律法规与综合能力)试题及答案
- 2026中职第一学年(畜牧兽医)动物防疫试题及答案
- 2026年公安院校联考行测真题与答案
- 2025年四川泸州市交通投资集团有限责任公司招聘笔试参考题库附带答案详解
- 职业技术学院《思想道德与法治》课程标准
- 《常见职业病危害与防护宣传手册》
- 家庭医生培训
- 前程无忧行测题答案
- 智能楼宇管理员职业技能竞赛(市赛)考试题库(含答案)
- 量子力学+周世勋(全套完整)课件
- 人教版小学六年级数学试卷及答案1套
- 有趣的行为金融学智慧树知到期末考试答案章节答案2024年上海海洋大学
- 溺水的急救和护理课件
- 价值营销与价格战略价格策略培训
评论
0/150
提交评论