servlet解析
什么是Servlet
2,Servlet有什么作用
3,Servlet的生命周期
4,Servlet怎么处理一个请求
5,Servlet与JSP有什么区别
6,Servlet里的cookie技术
7,Servlet里的过滤器
8,Servlet里的监听器
一,什么是Servlet?
Servlet是一个Java编写的程序,此程序是基于Http协议的(不仅仅只http协议),在服务器端运行的(如tomcat),
是按照Servlet规范编写的一个Java类。
二,Servlet有什么作用?
主要是处理客户端的请求并将其结果发送到客户端。用来处处理客户端请求,响应服务器端的返回消息,然后将结果返回给客户端。
三,Servlet的生命周期?
Servlet的生命周期是由Servlet的容器来控制的,它可以分为3个阶段;初始化,运行,销毁。
初始化阶段:
1,Servlet容器加载servlet类,把servlet类的.class文件中的数据读到内存中。
2,然后Servlet容器创建一个ServletConfig对象。ServletConfig对象包含了Servlet的初始化配置信息。
3,Servlet容器创建一个servlet对象。
4,Servlet容器调用servlet对象的init方法进行初始化。
运行阶段:
当servlet容器接收到一个请求时,servlet容器会针对这个请求创建servletRequest和servletResponse对象。
然后调用service方法。并把这两个参数传递给service方法(我们在使用框架的时候,总会有一个@Service注解,这一层用来处理逻辑,正是servlet来处理这些逻辑程序的。)。Service方法通过servletRequest对象获得请求的
信息。并处理该请求。再通过servletResponse对象生成这个请求的响应结果。然后销毁servletRequest和
servletResponse对象。我们不管这个请求是post提交的还是get提交的,最终这个请求都会由service方法来处理。
销毁阶段:
当Web应用被终止时,servlet容器会先调用servlet对象的destrory方法,然后再销毁servlet对象,
同时也会销毁与servlet对象相关联的servletConfig对象。我们可以在destroy方法的实现中,释放
servlet所占用的资源,如关闭数据库连接,关闭文件输入输出流等。
在这里该注意的地方:
在servlet生命周期中,servlet的初始化和和销毁阶段只会发生一次,而service方法执行的次数则取决于servlet被客户
端访问的次数
四,Servlet怎么处理一个请求?
当用户发送一个请求到某个Servlet的时候,Servlet容器会创建一个ServletRequst和ServletResponse对象。
在ServletRequst对象中封装了用户的请求信息,然后Servlet容器把ServletRequst和ServletResponse对象
传给用户所请求的Servlet,Servlet把处理好的结果写在ServletResponse中,然后Servlet容器把响应结果传
给用户。
五,Servlet与JSP有什么区别?
1,jsp经编译后就是servlet,也可以说jsp等于servlet。
2,jsp更擅长页面(表现)。servlet更擅长逻辑编辑。 (最核心的区别)。
3,在实际应用中采用Servlet来控制业务流程,而采用JSP来生成动态网页.在struts框架中,
JSP位于MVC设计模式的视图层,而Servlet位于控制层(用来进行逻辑程序的处理)。
六,Servlet里的cookie技术?
cookies是一种WEB服务器通过浏览器在访问者的硬盘上存储信息的手段,是由Netscape公司开发出来的。
cookie技术的好处:
1,Cookie有效期限未到时,Cookie能使用户在不键入密码和用户名的情况下进入曾经浏览过的一些站点。
2,Cookie能使站点跟踪特定访问者的访问次数、最后访问时间和访问者进入站点的路径。
创建一个cookie
- //里面的两个参数分别是cookie的名和cookie的值
- response.addCookie(new Cookie("abc","10000000"));
使用cookie
- Cookie[] cook =request.getCookies();//用一个Cookie数组来接收
- for(int j=0;j<cook.length;j++){//通过循环来打印Cookie
- cook[j].getName()://取cookie的名
- cook[j].getValue()://去cookie的值
- }
七,Servlet里的过滤器?
过滤器的主要作用
1,任何系统或网站都要判断用户是否登录。
2,网络聊天系统或论坛,功能是过滤非法文字
3,统一解决编码
(2)怎么创建一个过滤器:
1,生成一个普通的class类,实现Filter接口(javax.servlet.Filter;)。
2,重写接口里面的三个方法:init,doFilter,destroy。
3,然后在web.xml配置过滤器。
八,Servlet里的监听器?
监听器的作用:自动执行一些操作。
三种servlet监听器:
对request的监听。对session的监听。对application的监听。
怎么创建一个session监听器:
1,生成一个普通的class类,如果是对session的监听,则实现HttpSessionListener。
2,然后重写里面的五个方法:
- public void sessionCreated(HttpSessionEvent arg0) {} // 创建
- public void sessionDestroyed(HttpSessionEvent arg0) {} // 销毁
- public void attributeAdded(HttpSessionEvent arg0) {} // 增加
- public void attributeRemoved(HttpSessionEvent arg0) {} // 删除
- public void attributeReplaced(HttpSessionEvent arg0) {} // 替换
servlet解析的更多相关文章
- [原创]java WEB学习笔记22:MVC案例完整实践(part 3)---多个请求对应一个Servlet解析
本博客为原创:综合 尚硅谷(http://www.atguigu.com)的系统教程(深表感谢)和 网络上的现有资源(博客,文档,图书等),资源的出处我会标明 本博客的目的:①总结自己的学习过程,相当 ...
- URL在Tomcat服务器端的servlet解析过程
servlet 是Java中用于运行在 Web 服务器或应用服务器上的程序,它是作为来自 Web 浏览器或其他 HTTP 客户端的请求和 HTTP 服务器上的数据库或应用程序之间的中间层. proto ...
- [转]servlet的执行原理与生命周期
一.先从servlet容器说起:大家最为熟悉的servlet容器就是Tomcat ,Servlet 容器是如何管理 Servlet? 先看一下tomcat的容器模型: 从上图可以看出 Tomcat 的 ...
- Servlet获得Http请求,GET/POST
Servlet获得Http请求 Http请求信息格式 请求行(方法提交方式,URI,Http协议版本) GET方式提交:URI会包含查询字符串 POST方式提交:URI不会包含查询字符串 请求头 Ho ...
- Spring MVC Controller中解析GET方式的中文参数会乱码的问题(tomcat如何解码)
Spring MVC Controller中解析GET方式的中文参数会乱码的问题 问题描述 在工作上使用突然出现从get获取中文参数乱码(新装机器,tomcat重新下载和配置),查了半天终于找到解决办 ...
- servlet的执行原理与生命周期
先从servlet容器说起:大家最为熟悉的servlet容器就是Tomcat ,Servlet 容器是如何管理 Servlet?先看一下tomcat的容器模型:从上图可以看出 Tomcat 的容器分为 ...
- Servlet工作原理分析
最近在看<Java Web技术内幕>的Servlet工作原理,有点深奥和难以理解,于是乎,想通过一个简单的Demo将书上的思路理一遍,对Servlet有个更透彻更深的了解. Servlet ...
- 《收藏》对servlet原理讲解特别详细
转载:http://blog.csdn.net/javaloveiphone/article/details/8154791 内容: 一.先从servlet容器说起:大家最为熟悉的servlet容器就 ...
- 带logo图片或不带logo图片的二维码生成与解析,亲测成功
最近公司需要实现二维码功能,本人经过一顿百度,终于实现了,因有3个功能:不带logo图片.带logo图片.解析二维码,篇幅较长,请耐心读之,直接复制粘贴即可. 前提:myeclipse10:jar包: ...
随机推荐
- python os.walk详解
os模块大全详情 os.walkos.walk方法,主要用来遍历一个目录内各个子目录和子文件. os.walk(top, topdown=True, onerror=None, followlinks ...
- shutdown命令详解
基础命令学习目录 原文链接:http://www.cnblogs.com/qlqwjy/p/7746364.html 我 们在操作Linux v/服务器的时候肯定会有需要重启系统,或者关闭系统等操作. ...
- Linux安装软件包
今天在坐公交的路上看到一遍文章感觉还不错,先收集了.原文链接 Linux安装软件包
- 20162328蔡文琛 2017week03
20162328 2017-2018-1 <程序设计与数据结构>第3周学习总结 教材学习内容总结 查找是在一组项内找到指定目标或是确定目标不存在的过程. 搞笑的查找使得比较的次数最少. C ...
- java_web连接SQL_server详细步骤
(1).我用的是Myeclipse,可以直接将sqljdbc4.jar拷到项目文件 (2).点开SQL Server配置管理器 选中SQL Server2008网络配置下的SQLEXPRESS的协议, ...
- 超实用 1 ArrayList 链表
package ArrayList链表; import java.util.*; public class kk1 { /** * 作者:Mr.Fan * 功能:记住ArrayList链表 */ pu ...
- DPDK实例程序:testpmd
用户手册:https://doc.dpdk.org/guides/testpmd_app_ug/index.html 还不错的入门:http://syswift.com/188.html 我的运行情况 ...
- VMware上配置DPDK环境并运行实例程序
1. 在虚拟机VMware上配置环境 VMware安装:http://www.zdfans.com/html/5928.html Ubuntu:https://www.ubuntu.com/downl ...
- Java 多线程之:偏向锁,轻量级锁,重量级锁
一:java多线程互斥,和java多线程引入偏向锁和轻量级锁的原因? --->synchronized的重量级别的锁,就是在线程运行到该代码块的时候,让程序的运行级别从用户态切换到内核态,把所有 ...
- 二叉查找树ADT--C语言描述
首先给出此ADT的声明: struct TreeNode; typedef struct TreeNode *Position; typedef struct TreeNode *SearchTree ...