代孕北京代孕

【代孕代孕网】【微信:13802269370】代孕是一种新的观念,新的趋势。在现今社会里人类文明高度发达,依然有不少不孕不育的夫妇。随着人工生殖科技的迅速发展,七十年代以来,欧美各国陆续开始有人委托代理孕母怀孕生子,代孕是一种解决不孕不育的临床选择。

一、向服务器发起请求的方式

  1、地址栏输入(http://ip:port/path)

  2、超链接

  3、Form表单提交

  4、ajax

    通过ajax发出的请求属于异步请求,能实现局部刷新的效果,通过JQuery中的ajax(),get(),post(),getJson()等方法都能发出请求。

  5、请求转发(在下面会详细介绍)

  6、重定向(在下面会详细介绍)

二、HttpServletRequest对象

  1、介绍

    ·主要作用是用来接收客户端发送过来的请求信息,例如请求参数,发送的头信息等。

    ·service方法的形参接收的是HTTPServletRequest接口的实例化对象,表示该对象主要用在HTTP协议上,是由Tomcat封装好传递过来的

    ServletRequest只有一个子接口HTTPServletRequest接口,但为什么不将两个接口合在一起呢?

      原因是现在主要用的协议是HTTP协议,如果以后出现新的协议,想支持新的协议,只要继承ServletRequest接口就行了。

  2、常用形式

    1)常用方法

      

    2)获取请求头

      

    3)获取客户端请求参数(客户端提交的数据)

      

  3、请求乱码的解决方式

    req.setCharacterEncoding("UTF-8");

      这种方法只针对POST有效,必须在接收所有数据前设置

    new String(req.getParameter(name).getBytes("ISO-8859"),"UTF-8");

      这种方式对任何请求都有效,但Tomcat8起,以后的GET方式请求不会出现乱码,再设置反而会出现乱码。

          

  4、请求转发

      请求转发是一种服务器的行为,当客户端请求到达后,服务器进行转发,此时会将请求对象进行保存,地址栏中的URL地址不会改变,

    得到响应后,服务器端再将响应发送给客户端,从始至终只有一个请求发出

      

  5、Request作为域对象

     作用范围只在一次请求中有效,经过请求转发request域的数据依然存在。

      request.setAttribute(); 设置域对象的内容

      request.getAttribute(); 获取域对象内容

      request.removeAttribute(String name); 删除域对象内容

三、HTTPServletResponse对象

  1、介绍

    HTTPServletResponse主要功能是服务器对客户端的请求进行相应,将Web服务器处理后的结果返回给客户端

  

  2、常用方法

    

   

  3、刷新和页面自动跳转

    response头信息刷新

    

    HTML方式刷新

    

  4、数据响应

    getWrite()获取字符流(只能响应回字符)

      

    getOutputStream()获取字节流(能响应一切数据)

      

   5、乱码解决

    resp.setCharacterEncoding("UTF-8") 服务端解码方式

    resp.setHeader("content-type", "text/html;charset=UTF-8"); 客户端解码方式

    要保持发送端和接收端一致,所以两种方式要同时使用

    可以同时指定服务器和客户端的方式:

      resp.setContentType("text/html;charset=utf-8");

  6、响应图片

    

复制代码
public class Servlet02 extends HttpServlet{
    
    /**
     * 响应图片
     */
    @Override
    protected void service(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        //设置图片响应类型
        resp.setContentType("image/jpeg");
        //得到服务器的真实路径
        String realPath=req.getServletContext().getRealPath("/");
        System.out.println(realPath);
        
        //得到图片路径
        String filePath=realPath+"s1.jpg";
        
        //通过图片路径得到file对象
        File file=new File(filePath);
        
        //判断file对象是否存在,并且是一个标准文件
        if (file.exists() && file.isFile()) {
            
            //得到输出流
            ServletOutputStream out=resp.getOutputStream();

            //得到输入流
            InputStream is=new FileInputStream(file);
            byte[] buf=new byte[1024];
            int len=0;
            while ((len=is.read(buf))!=-1) {
                out.write(buf,0,len);
            }
            is.close();
            out.close();
        }else {
            resp.setContentType("text/html;charset=UTF-8");
            resp.getWriter().write("文件不存在");
        }
    }
}
复制代码

  7、重定向跳转

    重定向是一种服务器指导,客户端的行为。客户端发出第一个请求,被服务器接收,经过处理服务器进行响应,与此同时,服务器给客户端一个地址(下次请求的地址 resp.sendRedirect("url");),当客户端接收到响应后, 立刻、马上、自动根据服务器 给的地址进行请求的发送第二个请求,服务器接收请求并作出响应,重定向完成。从描述中可以看出重定向当中有两个请求存在,并且属于客户端行为

   实现方式 

   请求转发和重定向比较:

猜你喜欢

转载自www.cnblogs.com/jiazaiguangzhou/p/9554529.html