servlet的一些知识点

Servlet 的生命周期:

从第一次调用,到服务器关闭。如果在 web.xml 中配置了 load-on-startup 则是从 服务器开启到服务器关闭。

* 注意:
* init方法是对Servlet进行初始化的一个方法,会在Servlet第一次

加载进行存储时执行
* destory方法是在servlet被销毁时执行,也就服务器关闭时。 * @author MyPC
*

*****************************

Servlet的常见错误:

* * * *

404错误:资源未找到 原因一:在请求地址中的servlet的别名书写错误。 原因二:虚拟项目名称拼写错误

500错误:内部服务器错误service。

错误一:

java.lang.ClassNotFoundException: com.bjsxt.servlet.ServletMothod

解决: 在web.xml中校验servlet类的全限定路径是否拼写错误。

错误二: 因为service方法体的代码执行错误导致 解决:

根据错误提示对service方法体中的代码进行错误更改。 405错误:请求方式不支持

原因: 请求方式和servlet中的方法不匹配所造成的。

解决:
尽量使用 service 方法进行请求处理,并且不要再 service 方法中调用父类的

*****************************

Request 对象: 问题:

浏览器发起请求到服务器,会遵循 HTTP 协议将请求数据发送给服务器。 那么服务器接受到请求的数据改怎么存储呢?不但要存,而且要保证完成性。

解决: 使用对象进行存储,服务器每接受一个请求,就创建一个对象专门的存

储此次请求的请求数据。 实现:

request 对象 解释:

服务器接收到浏览器的请求后,会创建一个 Request 对象,对象中

存储了此次请求相关的请求数据。服务器在调用 Servlet 时会将创建的

Request 对象作为实参传递给 Servlet 的方法,比如:service 方法。 使用:

     获取请求头数据
     获取请求行数据
     获取用户数据

*********************************

Response 对象:

问题:
在使用 Request 对象获取了请求数据并进行处理后,处理的结果如何显

示到浏览器中呢? 解决:

使用 Response 对象 解释:

服务器在调用指定的 Servlet 进行请求处理的时候,会给 Servlet 的方

法传递两个实参 request 和 response。其中 request 中封存了请求相关的

请求数据,而 response 则是用来进行响应的一个对象。

使用: 设置响应头

设置响应编码格式

设置响应实体

***********************

请求乱码问题解决:

使用 String 进行重新编码:
uname=new String(uname.getBytes("iso8859-1"),"utf-8");

Get 方式请求:
在service方法中使用: req.setCharacterEncoding(“utf-8”);
在 tomcat 服务器目录下的 conf 文件下找到 server.xml 文件,打开进

行如下配置:

Post 方式请求:
在service方法中使用: req.setCharacterEncoding(“utf-8”);

 

流程总结:
Servlet 的使用流程:

       设置请求编码格式
       设置响应编码格式
       获取请求信息
       处理请求信息
       响应处理结果

数据流转流程: 浏览器------>服务器------->数据库 浏览器<------服务器<-------数据库

一般是 servlet层 到 server层 然后再到Dao层 , 最后Dao层-》 server层 -》 serlet层

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值