一、Tomcat集成
二、servletLife servlet生命周期
1、初始化
2、运行------调用
3、销毁(从内存中销毁)
三、
1、处理请求的方法的方法:service doget dopost方法的区别
1、新建一个servlet
2、新建jsp:method
在body写一个form表单 :用户登录表单
Action:提给servlet
method:
Get |
只处理method为get的方法 |
Post |
只处理method为get的方法 |
3、service即能处理get方法也能处理post方法
4、如果在servlet中同时存在 service get post
优先处理service
5、
如果
Super.service(arg0,arg1):没有被删除
会调用父类的service,就可以再调用doGet() 或 doPost()
父类的service方法打雷如此
If(doGet()){
doGet();
}else if(doPost()){
doPost();
}
正常执行前提条件书写了 doGet() 与 doPost()方法
注:
虽然只要servlet加载到内存后,硬盘上删除了没有事,但是还是上一个信息
405:请求方法服务器不支持
四、servlet常见错误
404:
资源未找到
servlet别名错误
项目名称拼写错误
405:
请求方式不支持
500:
Web.xml中查看类的映射是否错误
类有逻辑错误
五、Request
将数据存储到Request对象中
request封存当前请求信息
注意:request对象由tomcat创建,实参传递给service
1、如何获取请求数据
获取请求头信息
获取请求方式
getMethod()
获取请求URL
getRequestURL()
getRequestURI()
获取协议
getScheme()
获取请求行信息
getHeader("键值名");----------事先知道键名
getHeadersname("");------获得所有建植信息
Enumeration
While(e.hasnext){
Syso(e.nextelement);
}
获取用户数据
request并不区分get和post方法,因此此时已经解析完成了
Req.getParameter("键值名称");
如果出现 返回的是null 后台写的键值名不存在或者不一致
乱码出现的原因取数据和存数据的编码不一致
getParameter()不能获取同键不同值的数据(checkbox)
getParameterValues()可以
注意空指针异常
获取键值名
getParameterNames()
六、Response
1、提取数据
2、处理请求
数据库操作
3、处理结果
设置响应头
setHeader("键","值") |
set覆盖上一个同键 |
目前不可为中文 |
addHeader("键","值") |
add与上一个一起出现再响应头中 |
目前不可为中文 |
sendError(错误代码,"语句") |
出现错误的时候出现 |
|
设置
"conten-type" "text/html;charset=utf-8"
setContentType("text/html;charset=utf-8")
设置响应实体
getWriter.write("String:msg")