• Head First Servlets & JSP 学习笔记 第四章 —— 作为Servlet


    Servlet的任务是得到一个客户的请求,再发回一个响应。

    请求:

    容器控制着Servlet的一生,它会创建请求和响应对象、为Servlet创建一个新线程或分配一个线程,另外调用Servlet的service()方法,并传递请求和响应对象的引用作为参数。

    每个客户请求都会分配一个单独的线程来处理,但是Servlet实例只有一个(对于一个JVM而言)

    在一个JVM中,一个Servlet实例只有一个,因此Servlet的构造函数、init()初始化函数、destory()销毁函数都调用一次。

    Servlet的构造函数不要重写,就使用父类HttpServlet的构造方法;service()方法也不要重写,就使用父类HttpServlet的service()方法。init()初始化方法可以重写,doGet()或者doPost()方法必须重写一个或都重写。

    Servlet的构造函数只是实例化了一个普通的对象,要想成为Servlet,对象必须具备一些“Servlet特性”。

    HTTP1.1里有8个方法,不过对于大多数Servlet开发来说,只会用到doGet()、doPost()方法。

    GET和POST的区别:①POST有一个体。【GET和POST都能发送参数,但是GET的参数只能放在请求行中,参数数量有限制;而POST方法可以将参数放在体中,想放多少放多少】

    ②另外,GET方法,参数会显示在浏览器的地址栏,不隐私不安全。③GET请求可以建立书签,而POST不能。④GET方法对服务器不会做任何改变,POST方法可以。

    HTTP GET方法只是要得到东西,它不会修改服务器上的任何内容。所以,GET方法是幂等的。它能执行多次,而且不会产生任何不好的副作用。POST不是幂等的,POST体中提交的数据可能用于不可逆转的事务。

    获取请求中的一个参数:String s = request.getParameter("color");  获取请求中的多个参数:String[] arr = request.getParameterValues("sizes");

    响应:

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

    response.setContentType("application/jar");  //告诉浏览器要发回什么类型的内容,一般总是要写在最前面

    对于输出,只有2种选择,字节或字符

    使用response.sendRedirect("http://www.oreilly.com"); 进行Servlet重定向(客户端跳转)。参数是一个字符串,可以是绝对URL,也可以是相对URL。

    请求分派(服务器端跳转),重定向(客户端跳转)。

  • 相关阅读:
    http://caibaojian.com/jquery/ JQuery在线查询手册
    验证码
    显式提交/隐式提交 //ajax方式的隐式提交
    事物 银行转账业务
    模板 Template
    登录页面跳转与错误提示信息
    连接池 八种基本类型
    文件,文件夹的基本操作--------数据流的传输
    vim编辑器
    Linux中创建和使用静态库&动态库
  • 原文地址:https://www.cnblogs.com/czp2bconfident/p/8881949.html
Copyright © 2020-2023  润新知