Servlet
1.Servlet是运行在Tomcat上的Java类,是JavaWEB三大组件之一。
2.Servlet 具备处理客户端请求,以及对客户端进行响应的能力
3.Servlet的编写步骤:
a. 编写一个java类,继承自HTTPServlet
b. 重写父类的service方法
c.在service方法中处理用户的请求,并对客户端进行响应
d.将servlet配置到web.xml,并添加映射的url地址
4.Servlet配置Web.xml的格式:
将servlet配置到Tomcat中,并添加别名
<servlet>
<servlet-name>别名</servlet-name>
<servlet-class>包名.类名</servlet-class>
</servlet>
给指定别名的Servlet,添加映射的网址
<servlet-mapping>
<servlet-name>别名<servlet-name>
<url-pattern>/地址</url-pattern>
</servlet-mapping>
5.配置web.xml作用
通过上述的配置,我们可以通过: Http://ip:端口号/项目名/地址 来访问指定的Servlet.
6.通过servlet向客户端响应文本内容
//设置响应内容为网页,设置响应的编码格式为UTF-8
response.setContextType("text/html;charset=UTF-8");
//通过响应对象,得到响应字符的字符输出流
printWriter pw = response.getWriter();
pw.append("响应的内容");
Servlet的生命周期
1.一个servlet对象,从创建到被内存释放的过程,我们称为Servlet的生命周期。
2.Servlet创建的时机:默认情况下,当用户第一次请求servlet时,servlet被创建
3.Servlet销毁的时机:服务器关闭 或 应用被卸载时关闭
4.在Httpservlet类中,生命周期存在三个方法
(1) init方法,当servlet被创建后会调用init方法,用于初始化一些资源
(2)Service方法 被调用时,表示对象正在处理请求,准备响应
(3)destroy方法 当servlet即将被释放,调用此方法,用于释放资源,结束子线程等操作。
5.修改servlet启动时机
在web.xml中的servlet节点中加入子节点:
<load-on-startup>填入整数<load-on-startup>
整数的含义:
-负数 :默认值,表示第一次被访问时,创建对象。
-正数 : 表示服务器启动时,就创建对象,值越小优先级越高,相同值按照web.xml自上至下顺序加载。
-0 :与正数相同,表示值为max的正数(服务器启动时创建,但是是最后一个创建)
6.doGet方法与dopost方法
当用户请求为get时,执行doGet方法
当用户请求为post时,执行doPost方法
7.接收请求中的参数
(1)接收单个参数
String value = request.getParameter(String Key);
(2)接收一组相同key的参数
String[] values= request.getParameterValues(String key);
8.出现乱码问题的原因以及解决方案
原因:浏览器与Tomcat使用了不同的编码格式,导致了乱码问题的发生
解决方案:
方案一:(适用于所有请求)
a. 将乱码文字,按照ISO-8859-1编码,转换为字节数组
byte[] bytes = 乱码文字.getBytes(“ISO-8859-1”);
b. 将字节数组,按照utf-8编码重新组装
String text = new String(bytes,”utf-8”);
方案二:(仅适用于post请求乱码问题)
Request.setCharacterEncoding(“utf-8”);
注意:代码必须出现在接收参数之前