当前位置: 首页 > news >正文

石排东莞网站建设wordpress自豪的采用

石排东莞网站建设,wordpress自豪的采用,免费建电子商务网站,正能量软件不良网站下载目录 会话管理预习报告 一、实验目的 二、实验原理 三、实验预习内容 1. 什么是会话#xff0c;一个会话的生产周期从什么时候#xff0c;到什么时候结束#xff1f; 2. 服务器是如何识别管理属于某一个特定客户的会话的#xff1f; 3. 什么是Cookie#xff0c;它的…目录 会话管理预习报告 一、实验目的 二、实验原理 三、实验预习内容 1. 什么是会话一个会话的生产周期从什么时候到什么时候结束 2. 服务器是如何识别管理属于某一个特定客户的会话的 3. 什么是Cookie它的作用是什么Cookie会给客户端带来安全隐患吗 4.如何使用隐藏表单域传递会话信息一般用在什么情况下 会话管理实验报告 一、实验目的 二、实验要求 三、实验内容与步骤 1. 使用HttpSession对象管理会话。在名为exp04的Web项目下创建一个名为ShowSessionInfo的Servlet显示当前客户的会话ID、会话创建时间、最近一次访问会话的时间、该客户访问会话次数等信息运行的结果要求如下图所示。 2. 使用HttpSession会话对象设计一个GuessNumberServlet.java实现简单的猜数游戏 3. 编写一个CheckUserServlet通过Cookie实现自动登录的功能。当用户以get方式请求该Servlet时判断来自请求的cookie中是否包含用户的登录名和口令如果有判断是否合法如果通过验证显示欢迎信息否则显示登录表单让用户重新填写用户名和口令表单提交以post方式请求CheckUserServlet进行处理如果用户登录成功并且勾选了“自动登录”则提示登录成功并向客户端发送cookie信息保存用户名和口令否则提示登录失败并在浏览器端显示登录表单让用户重新登录。 4. 编写HomeServlet.java对通过超链接请求的两个URL进行重写在浏览器中禁用Cookie后servlet运行效果要求如下图所示。 四、思考题 1. 如何理解会话失效与超时如何通过程序设置最大失效时间如何通过Web应用程序部署描述文件设置最大超时时间二者有什么区别 2. 能否通过客户机的IP地址实现会话跟踪 3. 假如开发的Web应用程序是假设客户支持Cookie的但应用程序部署后你发现大多数客户禁用了Cookie这对应用程序有何影响如何修改它 会话管理预习报告 一、实验目的 1. 了解Web服务器对客户会话跟踪的各种方法 2. 重点掌握使用HttpSession对象跟踪会话的方法 3. 掌握使用Cookie技术跟踪会话的方法 4. 了解URL重写和隐藏表单域的方法。 二、实验原理 HTTP协议是无状态的协议。在很多情况下Web服务器必须能够跟踪客户的状态。比如对于一个购物网站在一个时刻可能有多个客户购物Web服务器必须能够区分不同的客户。一般情况下Web服务器为每个客户配置了虚拟的购物车ShoppingCart。当某个客户请求将一个商品放入购物车时Web服务器必须根据发出请求的客户的身份找到该客户的购物车然后把商品放入其中。 Web服务器跟踪客户的状态通常有4种方法 1使用HttpSession对象管理会话2使用持久的Cookie对象3使用URL重写机制4使用隐藏的表单域。 三、实验预习内容 1. 什么是会话一个会话的生产周期从什么时候到什么时候结束 会话是客户与服务器之间的不中断的请求-响应序列。 开始当一个未知的客户向web应用程序发送第一个请求时就开始了一个会话。 结束当客户结束会话或服务器在一定时限内没有接到客户任何请求时会话结束。 2. 服务器是如何识别管理属于某一个特定客户的会话的 一个客户对应一个会话服务器能够识别出请求来自于哪个客户的会话。 3. 什么是Cookie它的作用是什么Cookie会给客户端带来安全隐患吗 Cookie是客户访问Web服务器时服务器在客户端用户硬盘上存放的信息好像是服务器送给客户的“点心”。Cookie实际上是一小段的文本信息。 作用可以在客户端上保存用户数据起到简单的缓存和用户身份识别等作用保存用户的登陆状态用户进行登陆成功登陆后服务器生成特定的cookie返回给客户端客户端下次访问该域名下的任何页面将该cookie的信息发送给服务器服务器经过检验来判断用户是否登陆记录用户的行为。 安全问题客户可能认为Cookie会带来安全问题因此禁用Cookie。事实上Cookie并不会造成严重的安全威胁。Cookie永远不会以任何方式执行因此也不会带来病毒或攻击你的系统。另外由于浏览器一般只允许存放300个Cookie每个站点的Cookie最多存放20个每个Cookie的大小限制为4 KB因此Cookie不会塞满你的硬盘更不会被用作“拒绝服务”攻击手段。 4.如何使用隐藏表单域传递会话信息一般用在什么情况下 在HTML页面中可以使用下面代码实现隐藏的表单域  input typehidden namesession valuea1234 当表单提交时浏览器将指定的名称和值包含在GET或POST的数据中。这个隐藏域可以用来存储有关会话的信息。 会话管理实验报告 一、实验目的 1. 了解Web服务器对客户会话跟踪的各种方法 2. 重点掌握使用HttpSession对象跟踪会话的方法 3. 掌握使用Cookie技术跟踪会话的方法 4. 了解URL重写和隐藏表单域的方法。 二、实验要求 1. 实验前进行预习完成实验预习报告 2按照每一项实验内容进行上机实践与编程将程序源代码和运行结果图附在实验报告中实验内容对应的部分。 3. 实验预习报告和实验报告打印装订在一起。 4. 将每一次实验的源代码按目录组织保存并压缩按照老师指定的要求进行提交。代码保存方式如exp04表示实验四的Web项目的名称其下保存各项实验内容的源文件及相关资源将整个exp04文件夹进行压缩后命名为班级-姓名-实验04如计171-张三-实验04。 三、实验内容与步骤 1. 使用HttpSession对象管理会话。在名为exp04的Web项目下创建一个名为ShowSessionInfo的Servlet显示当前客户的会话ID、会话创建时间、最近一次访问会话的时间、该客户访问会话次数等信息运行的结果要求如下图所示。   package exp04;import javax.servlet.ServletException; import javax.servlet.ServletResponse; import javax.servlet.annotation.WebServlet; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpSession; import java.io.IOException; import java.io.PrintWriter; import java.sql.Date;WebServlet(name ShowSessionInfo, value /Show) public class ShowSessionInfo extends HttpServlet {Overrideprotected void doGet(HttpServletRequest req,HttpServletResponse resp) throws ServletException, IOException {resp.setContentType(text/html;charsetgb2312);HttpSession session req.getSession(true);String heading null;String info Information about your session;Integer accessCount (Integer) session.getAttribute(accessCount);if (accessCount null) {accessCount new Integer(1);heading Welcome,enter this page first time! ;} else {heading Welcome Back! ;accessCount accessCount 1;}session.setAttribute(accessCount,accessCount);PrintWriter out resp.getWriter();out.println(HTML);out.println( BODYcenter);out.println(h2heading /h2 h3 info/h3);out.println(table border0);out.println(tr bgcolor\ffad0\tdbInfo Type/btdbValue/b\n);out.println(trtdID:tdsession.getId()\n);out.println(trtdCreation Time:td);out.println(new Date(session.getCreationTime())\n);out.println(trtdTime of last access:td);out.println(new Date(session.getLastAccessedTime())\n);out.println(trtdAccess number:tdaccessCount\n);out.println(/table);out.println( /center /BODY);out.println(/HTML);} }2. 使用HttpSession会话对象设计一个GuessNumberServlet.java实现简单的猜数游戏 doget方法显示当前会话的相关信息产生一个1-100的随机数并保存到session作用域中显示表单让用户输入所猜数字表单以post方式提交给该servlet本身进行处理。 dopost方法中将用户输入的数字和session中保存的随机数进行比较如果用户猜的结果正确强制结束会话通过超链接可以在此请求该Servlet重新开始一轮猜数游戏如果结果错误显示错误提示信息和猜数表单允许用户重新猜数。 package exp04;import java.io.IOException; import java.io.PrintWriter;import javax.servlet.ServletException; import javax.servlet.annotation.WebServlet; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpSession;WebServlet(name GuessNumberServlet,value /GuessNumberServlet) public class GuessNumberServlet extends HttpServlet {Overrideprotected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {int num1 (int)(Math.random()*101);HttpSession session req.getSession();session.setAttribute(num,new Integer(num1));resp.setContentType(text/html;charsetutf-8);PrintWriter out resp.getWriter();out.println(htmlbody);out.println(请猜一个0-100的数字);out.println(form actionGuessNumberServlet methodpost);out.println(input typetext nameguess /);out.println(input typesubmit value提交/);out.println(/form);out.println(/body/html);}Overrideprotected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {int guess Integer.parseInt(req.getParameter(guess));HttpSession session req.getSession();int magic (Integer)session.getAttribute(num);resp.setContentType(text/html;charsetutf-8);PrintWriter out resp.getWriter();out.println(htmlbody);if(guessmagic){session.invalidate();out.println(猜对了!);out.println(a href GuessNumberServlet再猜一次./a);}else if(guessmagic){out.println(猜大了 请重猜!);}else{out.println(猜小了 请重猜!);}out.println(form actionGuessNumberServlet methodpost);out.println(input typetext nameguess /);out.println(input typesubmit value确定/);out.println(/form);out.println(/body/html);} }3. 编写一个CheckUserServlet通过Cookie实现自动登录的功能。当用户以get方式请求该Servlet时判断来自请求的cookie中是否包含用户的登录名和口令如果有判断是否合法如果通过验证显示欢迎信息否则显示登录表单让用户重新填写用户名和口令表单提交以post方式请求CheckUserServlet进行处理如果用户登录成功并且勾选了“自动登录”则提示登录成功并向客户端发送cookie信息保存用户名和口令否则提示登录失败并在浏览器端显示登录表单让用户重新登录。 Checka.jsp: % page contentTypetext/html;charsetUTF-8 languagejava % html headtitlelogin/title /head body ${sessionScope.message}br form actionCheckUserServlet methodpost请您输入用户名和口令br用户名:input typetext nameusername/br口令:input typepassword namepassword/brinput typecheckbox namecheck valuecheck/自动登录brinput typesubmit value提交/input typereset value重置/ /form /body /html % page contentTypetext/html;charsetUTF-8 languagejava % html headtitlewelcome/title /head body h1欢迎你/h1 /body /html CheckUserServlet: package exp04;import javax.servlet.ServletException; import javax.servlet.annotation.WebServlet; import javax.servlet.http.Cookie; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import java.io.IOException;WebServlet(/CheckUserServlet) public class CheckUserServlet extends HttpServlet {String messagenull;Overrideprotected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {resp.setContentType(text/html;charsetUTF-8);String value1 ,value2;Cookie cookie null;Cookie[] cookies req.getCookies();if(cookies!null){for(int i0;icookies.length;i){cookie cookies[i];if(cookie.getName().equals(username)){value1 cookie.getValue();}if(cookie.getName().equals(password)){value2 cookie.getValue();}}if (value1.equals(little bears)value2.equals(123456)){message Welcome!!!(*╹▽╹*)欢迎您value1再次登录该页面;req.getSession().setAttribute(message,message);resp.sendRedirect(check_second.jsp);}else {resp.sendRedirect(check_first.jsp);}}else {resp.sendRedirect(check_first.jsp);}}Overrideprotected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {resp.setContentType(text/html;charsetUTF-8);String username req.getParameter(username).trim();String password req.getParameter(password).trim();if (!username.equals(little bears)||!password.equals(123456)){message o(╥﹏╥)o用户名或口令不正确,请重试!;req.getSession().setAttribute(message,message);resp.sendRedirect(check_first.jsp);}else {if ((req.getParameter(check)!null) (req.getParameter(check).equals(check))){Cookie nameCookie new Cookie(username,username);Cookie pswdCookie new Cookie(password,password);nameCookie.setMaxAge(60*60);pswdCookie.setMaxAge(60*60);resp.addCookie(nameCookie);resp.addCookie(pswdCookie);}message Welcome!!!(*╹▽╹*)登录成功!;req.getSession().setAttribute(message,message);resp.sendRedirect(check_second.jsp);}} }check_first.html % page contentTypetext/html;charsetUTF-8 languagejava % html headtitlelogin/title /head body ${sessionScope.message}br form actionCheckUserServlet methodpost请您输入用户名和口令br用户名:input typetext nameusername/br口令:input typepassword namepassword/brinput typecheckbox namecheck valuecheck/自动登录brinput typesubmit value提交/input typereset value重置/ /form /body /htmlcheck_second.html % page contentTypetext/html;charsetUTF-8 languagejava % html headtitlewelcome/title /head body h1欢迎你/h1 /body /html首次登录 选择自动登录再次打开已经被记忆 密码或者用户名错误   4. 编写HomeServlet.java对通过超链接请求的两个URL进行重写在浏览器中禁用Cookie后servlet运行效果要求如下图所示。 package exp04;import javax.servlet.ServletException; import javax.servlet.annotation.WebServlet; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import java.io.IOException; import java.io.PrintWriter;WebServlet(/HomeServlet) public class HomeServlet extends HttpServlet {Overrideprotected void doGet(HttpServletRequest req,HttpServletResponse resp) throws ServletException, IOException {resp.setContentType(text/html; charset utf - 8); //HttpSession sessionrequest.getSession();PrintWriter out resp.getWriter();String url1 resp.encodeURL(GuessNumberServlet);String url2 resp.encodeURL(CheckUserServlet);out.println(HTML);out.println( HEADTITLEA Servlet/TITLE/HEAD);out.println( BODY);out.print( A test page showing two URLs:br );out.println(a href\ url1 \View GuessNumber Servlet/abr);out.println(a href\ url2 \View CheckUser Servlet/abr);out.println( /BODY);out.println(/HTML);} } 四、思考题 1. 如何理解会话失效与超时如何通过程序设置最大失效时间如何通过Web应用程序部署描述文件设置最大超时时间二者有什么区别 当用户在一个指定的期限内处于不活动状态时就将用户的会话终止会话失效超过设定时间终止是会话超时。public void setMaxInactiveInterval(int Interval)设置最大失效时间。在部署文件中下中设置最大超时时间。一个是通过编程方式设置一个是在部署时就已设置。 2. 能否通过客户机的IP地址实现会话跟踪 容器不能使用客户的IP地址唯一标识客户。因为是通过局域网访问Internet尽管在局域网中每个客户有一个IP地址但对于服务器来说客户的实际IP地址是路由器的IP地址所以该局域网的所有客户的IP地址都相同。 3. 假如开发的Web应用程序是假设客户支持Cookie的但应用程序部署后你发现大多数客户禁用了Cookie这对应用程序有何影响如何修改它 来自网站的所有Cookie都被阻止并且计算机上现有的Cookie不能被网站读取。可在Internet选项中设置。
http://www.dnsts.com.cn/news/68527.html

相关文章:

  • 金华竞价排名 金华企业网站建设优秀企业vi设计案例
  • 微信互动营销网站建设网站需要多大的空间
  • 餐饮 网站模板桂林最新新闻
  • 个人网站开发的论文建立网站专业公司吗
  • 网站能调用一些字体苏州网站网页设计
  • 成都网站制作网站设计注册公司资金最少多少钱
  • 酒泉网站建设专家广东建筑企业50强
  • 团建拓展网站建设需求分析用php做电商网站有哪些
  • 安庆市建设银行网站ui界面设计总结心得
  • 一些好玩的网站网页版游戏排行榜j
  • 免费建站哪家性价比高进入淘宝网官网首页 淘宝
  • 呼伦贝尔旅游网站建设电影网站权重怎么做
  • 郑州o2o网站建设汉狮山西定制网站建设电源
  • 如何自己创办一个网站虚拟资源下载源码wordpress
  • 天津专业网站制作流程优势百度指数排名明星
  • 去除WordPress注册功能国家优化防控措施
  • 阿帕奇网站搭建做个网站页面多钱
  • 国内什么网站用asp.net区块链网站开发费用
  • 如何设计一个网站城市形象设计vi手册
  • 织梦cms发布侵权网站清单佛山网站建设设计公司
  • 网站通栏代码全屋定制设计软件
  • 外贸网站建设注意什么宁波网站优化公司推荐
  • 免费旅游网站源码下载山西建设网站公司
  • 关于域名用于接入境外网站说明书网站做移动适配
  • 做网站 需要多少钱优秀flash网站设计
  • 网站脚本错误网站项目接单
  • 李沧网站建设谁家好1688货源网官方网站
  • 手机商城网站设计要求怎么写片头制作网站
  • 外贸常用网站有哪些专业软件开发培训机构
  • 南翔做网站公司查询个人证件证书查询