Servlet_Day2_初稿

一、Tomcat集成

二、servletLife  servlet生命周期

1、初始化

2、运行------调用

3、销毁(从内存中销毁)

三、

1、处理请求的方法的方法:service  doget dopost方法的区别

1、新建一个servlet

2、新建jsp:method

在body写一个form表单 :用户登录表单

Action:提给servlet 

method

Get

只处理methodget的方法

Post

只处理methodget的方法

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")

发布了26 篇原创文章 · 获赞 4 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/weixin_41926640/article/details/100350052