• JAVA基础篇—Servlet小结


    一、get请求和post请求的区别:
    1.get请求是通过url传递参数,post请求是通过请求体传递参数的
    2.get请求最多允许传递255个字符,对长度有限制,所以数据比较大的时候我们使用post请求,尤其是做上传的时候用post请求!
    3.get请求我们在浏览器上是可以看到请求参数的,而post请求在浏览器地址栏中是看不到请求参数的!

    4.在表单中一般我们都使用post请求,除了在表单中,页面中的其它地方基本上都是使用get请求!

    二、servlet是web的三大组件之一;web的三大组件是指:Servlet、Filter、Listener

    三、生命周期

    servlet是由tomcat服务器来管理的!

    servlet生命周期:是指servlet对象由产生到销毁的过程!

    servlet生命周期涉及的几个方法:
    1.构造器方法:只会在第一次访问这个servlet的时候调用一次,调用一次就说明servlet是单例的,但是servlet是多线程的,
    非线程安全的,也就是说在servlet中我们尽量不要在service方法中操作全局变量!

    2.init方法:init方法只会在第一次访问servlet的时候调用一次,对servlet对象进行初始化操作!

    3.service:service方法会在每次访问这个servlet的时候都调用一次,而且我们的业务逻辑也是写在这个service方法!

    4.destroy方法::destroy方法只会在我们的项目卸载的时候调用一次,也就是说在服务器关闭的时候会在服务器关闭的时候调用一次!

    四、转发和重定向

    转发:当浏览器向服务器发送请求的时候,服务器自己不处理,而是调用其它的web资源进行处理!

    重定向:当浏览器向服务器发送请求的时候,服务器返回给浏览器一个特殊的响应,这个特殊的响应告诉浏览器再向另一个地址发送一个请求!

    转发和重定向的区别:
                       发生在浏览器端还是服务器   浏览器的请求次数    浏览器地址栏是否发生变化   浏览器是否能够感知到
    转发[request]      发生在服务器端                   1                                不发生变化                          感知不到
    重定向[response]  发生在浏览器端                 2                                 发生变化                          能感知到!

    五、编码问题分析及请求编码

    通信双方在进行通信的时候,实际上是将通信的内容【信息】是按照一定的规则转化为二进制进行通讯的

    而这个一定的规则就是字符的编码:ascii,gb2312,gbk,iso8859-1,utf-8;

    在请求到达的时候,另一方就需要解码!

    乱码原因:
    通信双方的编码方式和解码方式不一致造成的,
    解决办法:
    统一通信双方的编码方式和解码方式,都使用utf-8编码!

    编码分类:
    请求编码
    浏览器编码---》服务器解码iso8859-1
    响应编码
    服务器编码----》浏览器解码
    服务器端默认使用的是iso8859-1编码,而浏览器默认使用的是gb2312,当然我们也可以在页面中告诉浏览器用什么编码方式!


    get请求:
    统一浏览器和服务器端的编码格式为utf-8编码:在server.xml文件的connector标签中指定编码格式为utf-8编码:URIEncoding="utf8"
    post请求!
    我们可以在post方法中在第一次获取请求参数之前通过request.setCharacterEncoding("utf-8");来设置解码格式!

  • 相关阅读:
    MySQL数据库备份与还原
    MySQL的增、删、改、查
    MySQL与安全
    网址收集
    实现批量添加10个用户,用户名为user01-10,密码为user后面跟3个随机字符
    运维笔试Python编程题
    javascript 正则表达式 详细入门教程
    Web UI回归测试 -- BackstopJS 入门
    js 链接传入中文参数乱码解决
    项目搭建注意事项
  • 原文地址:https://www.cnblogs.com/lc-java/p/7399942.html
Copyright © 2020-2023  润新知