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

域名备案时网站名字百度广告联盟平台官网

域名备案时网站名字,百度广告联盟平台官网,wordpress页面url设置,如何做采集网站谢谢观赏QQ:1563166974Servlet请求转发的介绍:请求转发: 问题: 服务器在接收到浏览器的请求后,仅仅使用一个 Servlet 进行请求处理,会造成不同的 Servlet 逻辑代码冗 余,Servlet 的职责不明确。解决: 使用请求转发。 特…

6264191436fc98a8f49d60418a61469b.png

谢谢观赏

QQ:1563166974

Servlet请求转发的介绍:

 请求转发: 问题: 服务器在接收到浏览器的请求后,仅仅使用一个 Servlet 进行请求处理,会造成不同的 Servlet 逻辑代码冗 余,Servlet 的职责不明确。解决: 使用请求转发。 特点: 一次请求地址栏信息不改变。 

3ca7b3c3d16fd226cc1bf33d665c7067.png
Request 对象作用域 :
问题:使用请求转发后,不同的Servlet之间怎么进行数据的共享呢?
或者说数据怎么从一个servlet流转给另外一个Servlet呢? 


解决:

使用 request 对象的作用域 使用: 
request.setAttribute(object name,Object value); request.getAttribute(Object obj) 


作用:

解决了一次请求内的不同 Servlet 的数据(请求数据+其他数 据)共享问题。 

作用域:

基于请求转发,一次请求中的所有 Servlet 共享。 
注意: 
使用 Request 对象进行数据流转,数据只在一次请求内有效。

特点:

服务器创建:每次请求都会创建生命周期一次请求 

重定向 :
问题:

如果当前的请求,Servlet 无法进行处理怎么办? 如果使用请求转发,造成表单数据重复提交怎么办? 解决: 使用重定向 
使用:
response.sendRedirect(“路径”). 本地路径为:uri 网络路径为:定向资源的 URL 信息 
特点: 两次请求 
浏览器地址栏信息改变,避免表单重复提交 !

Cookie的学习:

26a38c802e291a693a644e5098dc09a3.png
package cn.msk.Servlet;import java.io.IOException;import javax.servlet.ServletException;
import javax.servlet.http.Cookie;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;public class Myservlet01 extends HttpServlet {@Overrideprotected void service(HttpServletRequest req, HttpServletResponse resp)throws ServletException, IOException {//请求编码格式req.setCharacterEncoding("utf-8");//请求响应编码格式resp.setContentType("text/html;charset=utf-8");//获取请求信息String a=req.getParameter("a");String b=req.getParameter("b");//处理请求信息System.out.println(a+":"+b);//响应处理结果//创建cookie数据Cookie c=new Cookie("b", b);//设置cookie的信息 c.setMaxAge(3600*24*3);//设置cookie的有效期,如果不设置,cookie存储位置为浏览器,伴随着浏览器的关闭而销毁!//设置了有效期,cookie则会存储在客户端的磁盘里,随着时间的到期销毁!//设置有效路径(作用:防止每一次执行都伴随着cookie影响运行的传输效率,所以设置某些时候运行带,有些时候运行不带cookie)c.setPath("/cookie/ser2");//这行代码的意思是:只有运行ser2时,才伴随cookie!//响应cookie数据resp.addCookie(c);//直接响应resp.getWriter().write("我是Myservlet,处理完毕!");//请求转发//重定向}
}
package cn.msk.Servlet;import java.io.IOException;import javax.servlet.ServletException;
import javax.servlet.http.Cookie;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;public class Myservlet02 extends HttpServlet {@Overrideprotected void service(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {//请求编码格式req.setCharacterEncoding("utf-8");//请求响应编码格式resp.setContentType("text/html;charset=utf-8");//获取请求信息//获取cookiesString bc=null;Cookie[] cookies=req.getCookies();for (Cookie ck : cookies) {if("b".equals(ck.getName())){bc=ck.getValue(); }}String b=req.getParameter("b");String c=req.getParameter("c");//处理请求信息System.out.println(b+":"+c);//响应处理结果//直接响应resp.getWriter().write("我是Myservlet2,处理完毕!");//请求转发//重定向}
}

cookie的介绍和特点和作用:

为什么需要cookie:

不同的请求使用相同的请求数据,但是只要请求结束,数据就会被销毁,
其他的请求需要将公共数据重写书写发送!解决:使用cookie技术

cookie的特点:

浏览器端的数据存储技术,但相对应的数据由服务器决定,在服务器上面进行声明,
以响应的方式告诉浏览器进行存储,不适合大量的存储!

Session的学习:

问题:

用户不同的请求在处理的时候需要使用其他请求中的数据怎么办!

解决:

session技术。

使用流程:

创建session对象
HttpSession session=req.getSession();存储数据到session中:
session.setAttribute(String name, object value);获取session对象;
HttpSession session=req.getSession();获取session中的数据;
session.getAttribute(String name);注意:返回的是Object类型,需要强制转型!删除session中的数据;
session.removeAttribute(String name);注意:有数据则删除,没有则什么都不做!

流程:

1.浏览器发送请求到Aservlet,在Aservlet使用req.getSession()获取session对象,如果此次请求中没有SessionID
则重新创建一个session对象,如果有则将其相对应的session对象返回
(前提是该session对象有效期没有到期,如果其到期被销毁了,就算有sessionID,也会创建一个新的session对象)!
2.校验session是否失效,存储数据到session中,或者获取session中的数据,或者删除session中的数据!

特点:

session解决了同一个用户不同请求的数据共享问题!

Session的作用域:

一个会话,浏览器不关闭,session还存在有效期,同一个用户获取到的就是同一个sessionid数据!

对session的理解:

有些时候是需要保存一些客户端的请求信息,识别客户端的某些状态,智能的、有针对性的去分析某些客户端的习惯。
这些时候,就需要去记录客户端的连接状态,识别请求的状态等。
所以为了解决类似的事情,就需要使用到了 Cookie 和 Session。
比如,使用Cookie的场景:有些网站有记住用户名的功能,当你勾这个的时候,下次进入该网站时,就会保存上一次登录的用户名;
使用Seesion的场景:利用Seesion来验证用户是否已登录,利用Session来保存验证码。

3ca50497cc295d9f60afc227691e4aa5.png

ServletContext 对象:

问题:

Request 解决了一次请求内的数据共享问题,
session 解决了用户不同请求的数据共享问题,那么不同的用户的数据共享该怎 么办呢?  
解决: 使用ServletContext对象 !

作用:

解决了不同用户的数据共享问题

7f5a0361b1d0c8dc76cb5a861f1af041.png

原理:

ServletContext 对象由服务器进行创建,一个项目只有一个对象。
不管在项目的任意位置进行获取得到的都是同一个对象,那么不同用户发起的请求获取到的也就是同一个对象了,
该对象由用户共同拥有。特点: 服务器进行创建 

附码:

package cn.msk.ServletContext;import java.io.IOException;import javax.servlet.ServletContext;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;public class Servlet2Context extends HttpServlet {@Overrideprotected void service(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {//设置请求编码格式req.setCharacterEncoding("utf-8");//设置响应编码格式resp.setContentType("text/html;charset=utf-8");//获取请求信息//处理请求信息String str="我是用户共享数据";//获取servletcontext对象ServletContext sc1= this.getServletContext();ServletContext sc2= this.getServletConfig().getServletContext();ServletContext sc3=req.getSession().getServletContext();System.out.println(sc1==sc2);System.out.println(sc2==sc3);//存储数据到servletcontext中sc1.setAttribute("str", str);//获取web.xml中的全局配置文件!String f=sc1.getInitParameter("flag");if("false".equals(f)){System.out.println("Servlet2Context.service(关闭***资源)");}else{System.out.println("Servlet2Context.service(打开***资源)");}//获取webroot下的资源流对象//获取webroot下资源的绝对路径//响应处理结果//直接响应resp.getWriter().write("数据已经在servletcontext存储完毕");//请求转发//重定向}
}
package cn.msk.ServletContext;import java.io.IOException;import javax.servlet.ServletContext;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;public class Servletcontextb extends HttpServlet {@Overrideprotected void service(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {//设置请求编码格式req.setCharacterEncoding("utf-8");//设置响应编码格式resp.setContentType("text/html;charset=utf-8");//获取请求信息//获取servletContextServletContext sc=req.getServletContext();//获取共享数据String str =(String) sc.getAttribute("str");//处理请求信息System.out.println("Servletcontextb.service()"+str);//响应处理结果}
}

用户共享 :

 一个项目只有一个!

生命周期:

服务器启动到服务器关闭 !

作用域:

项目内 !

使用:

获取ServletContext对象使用作用域进行共享数据流转获取web.xml中的全局配置获取webroot下项目资源流对象获取webroot下资源绝对路径!

351ab2a0782586a4e12c1cc28a90eff7.png


案例:

网页浏览器次数统计,详见源码 

12b9254504df260e398730f5a90772d2.png


ServletConfig 对象:

问题:

使用ServletContext对象可以获取web.xml中的全局配置文件,在web.xml中
每个Servlet 也可以进行单独的配置,那么该怎么获取配置信息呢?

解决:

使用 ServletConfig对象 !

作用:

ServletConfig对象是Servlet的专属配置对象,每个Servlet都 
单独拥有一个ServletConfig对象,用来获取web.xml中的配置信息。


使用:

获取 ServletConfig 对象
获取 web.xml中servlet的配置信息 
http://www.wooajung.com/news/34069.html

相关文章:

  • 怎么优化网站加载速度三十个知识点带你学党章
  • 无锡建设网站公司百度百度一下你就知道
  • 开发聊天软件成本seo推广网络
  • 山东做网站找谁湖南长沙疫情最新消息
  • 做微信小程序需要什么技术seo软件资源
  • 资金盘网站开发公司哪里好电商seo
  • 网站开发研发合同营销活动方案模板
  • 视频网站开发需要什么语言百度图片查找
  • 南京每月做社保明细在哪个网站查如何做一个营销方案
  • 深圳公司网站改版通知长沙市seo百度关键词
  • 阿雷网站建设常州百度推广代理公司
  • 如何做小程序微信搜索引擎优化指的是什么
  • 阳谷做网站百度下载安装 官方
  • 长沙建设教育网官网如何做seo搜索引擎优化
  • 做网站设计的平台自己开平台怎么弄啊
  • 卧龙区2015网站建设口碑百度平台商家我的订单查询
  • 做网站点企业网络搭建方案
  • 做网站主要注意些什么排行榜哪个网站最好
  • wordpress百家seo与sem的关系
  • 个人做的卖货网站seo查询官网
  • 微网站制作工具请简述网络营销的特点
  • 武汉做网站公司有哪些湖南网站建设效果
  • 做发包业务网站湖南长沙最新疫情
  • 网站优化内链怎么做bing搜索 国内版
  • 怎样给网站做图标第三方营销策划公司有哪些
  • 抖音的电子商务网站建设怎么建立网站的步骤
  • 网站的弹窗对话框怎么做网络推广工具
  • 云网站制作的流程文明seo技术教程网
  • 做网站要sql 数据库名字账号密码杭州优化seo
  • 北京网站建设怎么样百度问答下载安装