servlet的生命周期、解决乱码的方式和get方式提交与post方式提交的区别 学习笔记
2014-11-26 08:37
381 查看
servlet
# servlet的生命周期
@ servlet的生命周期,是由服务器的web容器来进行负责。当web容器加载servlet实例,调用
servlet中的init方法。直到servlet容器销毁,调用destory()方法,将servlet进行
销毁的动作。在这个两个方法调用的期间,会调用service()方法,来处理浏览器发送的过来的请求
@ 在servlet的一个生命周期中,它的init()与destory()方法只会执行一次。但是处理
请求的servcie(doGet/doPost)方法会执行多次,因为在一个servlet生命周期中,浏览器端
可以发送多个请求,也就说明了一个servlet实例可以处理多次请求
# servlet的getInfo方法
@ 这个方法基本上没用。这个方法的作用就是获取servlet的一些描述性的信息
# server的getServletConfig方法
@ 使用这个方法可以获取当前servlet的的ServletConfig对象(某一个Servlet实例的配置信息对象)。
通过这个对象可以获取Servlet配置的初始化参数,这些初始化参数配置在web.xml文件中
例如:
<servlet>
<servlet-name>别名</servlet-name>
<servlet-class>具体的Servlet的路径(包名.类名)</servlet-class>
<!--配置servlet的初始化参数-->
<init-param>
<param-name>参数的key值</param-name>
<param-value>参数的value值</param-value>
</init-param>
</servler>
@ 在一个Servlet的配置中,可以配置多个参数
# Servlet的加载的优先级
@ 在Servlet配置信息中,如果不对加载的优先级进行配置,那么Servlet会有一个默认的加载
优先级。默认的优先级为:当有请求,请求道这个Servlet的时候,这个Servlet才会被web容器
进行初始化并加载
@ 设置Servlet的加载优先级
* 在web.xml文件中的servlet标签节点中配置load-on-startup标签,在标签中
设置优先级别的值(int类型)
例如:
<servlet>
<servlet-name>别名</servlet-name>
<servlet-class>具体的Servlet的路径(包名.类名)</servlet-class>
<!--配置Servlet的加载的优先级-->
<load-on-startup>1</load-on-startup>
</servler>
设置了Servlet的加载优先级,那么在web容器初始化的时候,会初始化Servlet的实例,并且
加载的web容器中
# Servlet的线程安全问题(了解)
@ Servlet本身已经实现了多线程,当有具体的用户请求访问Servlet。都会新开启一个Thread。
@ 在Servlet中的成员变量,如果发生了并发,那么这个成员变量就要考虑线程的安全问题。要想
解决成员变量的线程安全问题,就要在使用的方法中使用同步代码块
例如:
synchronzied(this){
//使用Servlet中定义的成员变量
}
# get方式提交与post方式提交的区别?
@ 地址栏变化
* get方式提交地址栏会发生变化(浏览器有关)
* post放肆提交地址栏没有变化
# HttpServletRequest
@ 负责请求的对象,俗称为request对象。通过这个对象可以获取请求的一些参数
@ 主要的方法有:
* getParameter("key") ;
//获取一个参数
* getParameterValues("key") ; //获取一个参数的多个值
# 解决乱码的方式:
@ post方式解决乱码
* 通过request设置请求体中的编码方式,request.setCharacterEncoding(编码的格式) ;
@ get方式
* 在tomcat中的server.xml文件中的<connector>标签添加URIEncoding属性。进行设置get方式提交的编码
get/post方式可以通过使用重新构建字符串的形式进行转码,格式如下:
String str = new String("要转码的字符串".getBytes(获取编码的方式),需要转的编码格式) ;
例如:
String str = new String(str.getBytes("iso8859-1"),"UTF-8") ;
注:乱码的问题在以后的开发中经常出现。主要要保证编码所到之处编码格式一致
常见的编码格式有:
iso8859-1:一般情况下默认的编码格式
以下是支持中文的编码格式:
GBK
GB2312
GB18030
UTF-8
# http请求写协由三部分组成,如下:
@ 请求行:位于Http请求的第一行
@ 请求头:位于请求行下,请求体之上,但是与请求体具有一个空白行来区分请求头与请求体的区别
@ 请求体:只有post请求方式中才有请求体,get方式请求没有请求体
# 服务器端程序与浏览器之间的转向
@ 使用HttpServletResponse对象页面之间的转向。response对象调用sendredirect("html的url") ;
# servlet的生命周期
@ servlet的生命周期,是由服务器的web容器来进行负责。当web容器加载servlet实例,调用
servlet中的init方法。直到servlet容器销毁,调用destory()方法,将servlet进行
销毁的动作。在这个两个方法调用的期间,会调用service()方法,来处理浏览器发送的过来的请求
@ 在servlet的一个生命周期中,它的init()与destory()方法只会执行一次。但是处理
请求的servcie(doGet/doPost)方法会执行多次,因为在一个servlet生命周期中,浏览器端
可以发送多个请求,也就说明了一个servlet实例可以处理多次请求
# servlet的getInfo方法
@ 这个方法基本上没用。这个方法的作用就是获取servlet的一些描述性的信息
# server的getServletConfig方法
@ 使用这个方法可以获取当前servlet的的ServletConfig对象(某一个Servlet实例的配置信息对象)。
通过这个对象可以获取Servlet配置的初始化参数,这些初始化参数配置在web.xml文件中
例如:
<servlet>
<servlet-name>别名</servlet-name>
<servlet-class>具体的Servlet的路径(包名.类名)</servlet-class>
<!--配置servlet的初始化参数-->
<init-param>
<param-name>参数的key值</param-name>
<param-value>参数的value值</param-value>
</init-param>
</servler>
@ 在一个Servlet的配置中,可以配置多个参数
# Servlet的加载的优先级
@ 在Servlet配置信息中,如果不对加载的优先级进行配置,那么Servlet会有一个默认的加载
优先级。默认的优先级为:当有请求,请求道这个Servlet的时候,这个Servlet才会被web容器
进行初始化并加载
@ 设置Servlet的加载优先级
* 在web.xml文件中的servlet标签节点中配置load-on-startup标签,在标签中
设置优先级别的值(int类型)
例如:
<servlet>
<servlet-name>别名</servlet-name>
<servlet-class>具体的Servlet的路径(包名.类名)</servlet-class>
<!--配置Servlet的加载的优先级-->
<load-on-startup>1</load-on-startup>
</servler>
设置了Servlet的加载优先级,那么在web容器初始化的时候,会初始化Servlet的实例,并且
加载的web容器中
# Servlet的线程安全问题(了解)
@ Servlet本身已经实现了多线程,当有具体的用户请求访问Servlet。都会新开启一个Thread。
@ 在Servlet中的成员变量,如果发生了并发,那么这个成员变量就要考虑线程的安全问题。要想
解决成员变量的线程安全问题,就要在使用的方法中使用同步代码块
例如:
synchronzied(this){
//使用Servlet中定义的成员变量
}
# get方式提交与post方式提交的区别?
@ 地址栏变化
* get方式提交地址栏会发生变化(浏览器有关)
* post放肆提交地址栏没有变化
# HttpServletRequest
@ 负责请求的对象,俗称为request对象。通过这个对象可以获取请求的一些参数
@ 主要的方法有:
* getParameter("key") ;
//获取一个参数
* getParameterValues("key") ; //获取一个参数的多个值
# 解决乱码的方式:
@ post方式解决乱码
* 通过request设置请求体中的编码方式,request.setCharacterEncoding(编码的格式) ;
@ get方式
* 在tomcat中的server.xml文件中的<connector>标签添加URIEncoding属性。进行设置get方式提交的编码
get/post方式可以通过使用重新构建字符串的形式进行转码,格式如下:
String str = new String("要转码的字符串".getBytes(获取编码的方式),需要转的编码格式) ;
例如:
String str = new String(str.getBytes("iso8859-1"),"UTF-8") ;
注:乱码的问题在以后的开发中经常出现。主要要保证编码所到之处编码格式一致
常见的编码格式有:
iso8859-1:一般情况下默认的编码格式
以下是支持中文的编码格式:
GBK
GB2312
GB18030
UTF-8
# http请求写协由三部分组成,如下:
@ 请求行:位于Http请求的第一行
@ 请求头:位于请求行下,请求体之上,但是与请求体具有一个空白行来区分请求头与请求体的区别
@ 请求体:只有post请求方式中才有请求体,get方式请求没有请求体
# 服务器端程序与浏览器之间的转向
@ 使用HttpServletResponse对象页面之间的转向。response对象调用sendredirect("html的url") ;
相关文章推荐
- Servlet学习笔记(post提交以及get提交的区别)
- 解决servlet中文乱码问题及get、post请求方式的讲解
- javaweb之request乱码解决(数据提交以post方式和get方式)
- 表单通过get和post方式提交数据解决乱码的方法
- Post与Get方式提交乱码问题解决
- 解决中文乱码的filter(包括get和post提交两种方式)
- ajax 学习笔记之二 POST GET方式提交数据
- JAVA中Get、Post方式提交中文乱码解决方法
- Servlet(6)Servlet三种开发方式之继承GenericServlet、HttpServlet及get和post提交表单方式的区别
- 过滤器解决get和post方式提交的中文乱码
- 表单提交方式由POST改为GET出现乱码的解决
- 表单向后台提交数据,get和post的两种方式的根本区别以及如何处理乱码?
- struts2默认能解决get和post提交方式的乱码问题吗?
- get/post 提交乱码问题解决(未使用过滤器)——Servlet解决
- Android(java)学习笔记213:开源框架post和get方式提交数据(qq登录案例)
- 解决用jquery的get或者post提交方式提交到struts2中的action中文乱码问题
- 解决servlet中输出中文到浏览器以及post、get两种提交方法乱码问题
- jsp中get(URI)方式提交表单的中文乱码解决方法
- 表单提交中Get和Post方式的区别有5点
- Asp.Net中Post与Get的区别(学习笔记)