`
高级java工程师
  • 浏览: 405628 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

servlet全过程

阅读更多
1,什么是Servlet
2,Servlet有什么作用
3,Servlet的生命周期
4,Servlet怎么处理一个请求
5,Servlet与JSP有什么区别
6,Servlet里的cookie技术
7,Servlet里的过滤器
8,Servlet里的监听





一,什么是Servlet?

Servlet是一个Java编写的程序,此程序是基于Http协议的,在服务器端运行的(如tomcat),



是按照Servlet规范编写的一个Java类。


[color=green][/color]
二,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方法通过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

Java代码
1.//里面的两个参数分别是cookie的名和cookie的值  
2. 
3.response.addCookie(new Cookie("abc","10000000")); 
//里面的两个参数分别是cookie的名和cookie的值

response.addCookie(new Cookie("abc","10000000"));

使用cookie

Java代码
1.Cookie[] cook =request.getCookies();//用一个Cookie数组来接收  
2. 
3.for(int j=0;j<cook.length;j++){//通过循环来打印Cookie  
4. 
5.        cook[j].getName()://取cookie的名    
6.        cook[j].getValue()://去cookie的值  
7. 
8.} 
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,然后重写里面的五个方法:



Java代码
1.public void sessionCreated(HttpSessionEvent arg0) {} // 创建  
2. 
3.public void sessionDestroyed(HttpSessionEvent arg0) {} // 销毁  
4. 
5.public void attributeAdded(HttpSessionEvent arg0) {} // 增加  
6. 
7.public void attributeRemoved(HttpSessionEvent arg0) {} // 删除  
8. 
9.public void attributeReplaced(HttpSessionEvent arg0) {} // 替换 
分享到:
评论

相关推荐

    第一个servlet开发全过程

    ### 第一个Servlet开发全过程 #### 一、概述 本文将详细介绍如何使用Oracle的JDeveloper工具来开发一个简单的Servlet应用程序,并通过一系列步骤展示整个过程。Servlet技术是Java Web开发中的核心组成部分之一,它...

    servlet编写、部署、运行全过程

    ### Servlet编写、部署、运行全过程详解 #### 一、Servlet基础知识概述 在开始详细介绍Servlet的编写、部署与运行过程之前,我们首先需要了解一些基本概念。 - **Servlet**:Servlet是一种Java技术,它用于扩展...

    手工编写Servlet的详细过程+实例

    动手实践是最好的学习方式,通过这个实例,你可以亲自体验从编写Servlet到运行的全过程,从而加深对Servlet的理解。 总的来说,Servlet是Java Web开发的基础,熟练掌握Servlet的编写和配置对于理解和构建Web应用...

    Servlet基础知识总结

    -- Servlet的全类名 --&gt; &lt;servlet-class&gt;com.atguigu.javaweb.HelloServlet&lt;/servlet-class&gt; &lt;!-- 可以指定Servlet被创建的时机 --&gt; &lt;load-on-startup&gt;2 &lt;/servlet&gt; &lt;servlet-mapping&gt; &lt;!-- 需要和某一个servlet...

    servlet技术初步入门

    3. 理解Servlet的生命周期,模拟Servlet的初始化和销毁过程。 4. 配置Servlet,尝试不同的URL映射,理解其工作原理。 总之,Servlet是Java Web开发的基础,熟练掌握Servlet能够帮助开发者更好地理解和构建动态Web...

    Servlet技术入门教学

    `&lt;servlet-name&gt;`用于指定Servlet的唯一名称,`&lt;servlet-class&gt;`指定Servlet类的全限定名,`&lt;url-pattern&gt;`则将URL路径映射到Servlet。 4. **Servlet请求和响应处理**: Servlet通过继承`HttpServlet`类,重写`...

    手动编译Servlet.zip

    - 这里,`servlet-class`是Servlet类的全限定名,`url-pattern`是访问Servlet的URL。 9. **测试Servlet**: - 启动应用服务器,然后通过浏览器访问`http://localhost:8080/yourapp/myservlet`(假设服务器运行在...

    全套Servlet培训教程

    总之,"全套Servlet培训教程"涵盖了从基础到高级的全方位Servlet知识,结合JSP、Struts和Spring等技术,将使你具备构建高效、稳定的Java Web应用的能力。通过深入学习和实践,你将成为一名熟练的Servlet开发者。

    jsp servlet+sqlserver简单登录注册

    本项目利用Java的JSP(JavaServer Pages)和Servlet技术,结合SQL Server数据库,实现了一个基础的用户管理功能。以下是该项目涉及的主要知识点: 1. **JSP**: - JSP是Java Web开发中的视图层技术,用于动态生成...

    servlet全套教程

    除此之外,Servlet 生命周期中的其他关键方法包括初始化(`init`)、服务(`service`)、销毁(`destroy`)和加载(`load`),它们分别对应于 Servlet 的创建、处理请求、释放资源和被服务器卸载的过程。 在实际...

    jsp&servlet试题

    正确配置Servlet类的方式是通过`&lt;servlet&gt;`标签内的`&lt;servlet-class&gt;`子标签来指定Servlet的全限定名。例如,正确的选项应为: ``` &lt;servlet&gt; &lt;servlet-name&gt;OrderServlet&lt;/servlet-name&gt; &lt;servlet-class&gt;...

    JSP Servlet学习资料--全套PPT

    4. **Servlet生命周期**:理解加载、实例化、初始化、服务和销毁的过程及其对应的方法。 5. **请求和响应对象**:HttpServletRequest和HttpServletResponse,用于处理客户端的请求和向客户端发送响应。 6. **会话...

    发布Servlet程序到服务器上

    `web.xml`配置文件是Servlet的部署描述符,其中包含了Servlet的元数据,如Servlet名称、全限定类名以及URL映射。例如: ```xml &lt;servlet&gt; &lt;servlet-name&gt;HelloWorld&lt;/servlet-name&gt; &lt;servlet-class&gt;...

    Servlet3.1规范文档

    以前开发者经常需要依赖第三方库来处理文件上传,而在Servlet 3.1中,这一功能被内置了,大大简化了文件上传的实现过程。 此外,Servlet 3.1的规范文档还为开发者提供了关于如何实施和测试Servlet标准的一些工具和...

    servlet简单例子

    这里,`servlet-name`是Servlet的别名,`servlet-class`是Servlet类的全限定名,`url-pattern`是访问Servlet的URL路径。 最后,部署并运行项目: 1. 将项目发布到Tomcat服务器(右键项目 -&gt; `Run As` -&gt; `Run on ...

    韩顺平servlet和jsp课堂笔记

    7. **JSP与Servlet关系**:JSP最终会被编译为Servlet,执行过程包括翻译、编译、加载和执行四个步骤。 【学习资源】: 韩顺平的课程强调实践和理解,他的笔记详尽地记录了Servlet和JSP的关键概念、语法以及实战技巧...

    Servlet 中文版帮助文档(word格式,对付一般应用足够了)

    5. **Servlet生命周期**:从Servlet的加载、初始化、服务到销毁的全过程,以及如何通过`@WebServlet`注解进行声明式配置。 6. **Servlet上下文**:ServletContext对象代表了Servlet容器中的一个Web应用程序,提供了...

    java-servlet学习笔记

    Java Servlet是Java Web开发中的核心组件之一,它用于构建动态网站和Web应用程序。...学习笔记中可能包含了从基础概念到实践操作的全过程,通过不断复习和实践,可以逐步提升对Servlet的理解和运用能力。

    servlet-api.jar

    用户提交的信息等等,从响应信息中可以获取客户端的输出流,响应类型等等,当然中间的过程是由servlet容器封装好的,等我们开发servlet时会直接使用这些接口来编写具体的业务代码,其他的处理过程就全由容器处理了。...

Global site tag (gtag.js) - Google Analytics