JavaJ2EE相关知识整理

1、Servlet的生命周期
     在Web容器中,Servlet主要经历4个阶段


     ①、加载Servlet:当Tomcat第一次访问Servlet的时候,Tomcat会负责创建Servlet的实例
     ②、初始化Servlet:当Servlet被实例化之后,Tomcat会调用init()方法来初始化这个对象
     ③、处理服务:当浏览器访问Servlet的时候,Servlet会调用service()方法处理请求
     ④、销毁:当Tomcat关闭或者检测打Servlet要从Tomcat删除的时候,会自动调用destory()方法,让该实例占用的资源释放掉。
2、Servlet是单例的吗,为什么
     Servlet是单例的,浏览器多次对Servlet的请求,一般情况下,服务器只创建一个Servlet对象,也就是说,Servlet对象一旦创建了,就会驻留在内存中,为后续的请求做服务,直到服务器关闭
3、GET和POST请求的区别
     GET请求暴露请求信息,不安全,POST请求隐藏了请求信息,较安全
     GET请求不能超过1KB,可传输的信息有限,不能上传图片
     POST请求没有限制请求的数据大小,可以做图片的上传
4、Tomcat中如何解决中文乱码问题
     对于POST请求可以设置请求编码方式:request.setCharacterEncoding("UTF-8"),注意必须在获取第一个参数之前设置,并且该方式只会POST方式有效
     对于GET请求可以重新设置Tomcat的编码方式,修改Tomcat的配置文件,在conf/server.xml文件中,在端口号配置段,添加URIEncoding=“UTF-8”

     
5、forward与redirect的区别
     forward:客户端和浏览器只发出一次请求,地址栏不发生改变,资源是共享的
                    语法:request.getRequestDispatcher(path).forward(request,response)
     redirect:客户端和浏览器端发送两次请求,地址栏发生改变,资源不共享
                    语法:response.sendRedirect(String location)
6、session和cookie区别
    ①、session的数据存放在服务器端,cookie的数据存放在客户端
    ②、cookie不是很安全,可以分析存放在本地的cookie并进行cookic欺骗。session较安全
    ③、session会在一定时间内保存在服务器上,当访问增多,会比较占用服务器的资源,从性能方面cookie更有优势
    ④、单个cookie在客户端的限制是3k,session无限制

原文地址:https://www.cnblogs.com/conswin/p/10405417.html