zoukankan      html  css  js  c++  java
  • Servlet简介及工作原理

    Servlet是一种服务器端的编程语言,是J2EE中比较关键的组成部分(其实学到现在J2EE里面的13个标准才接触了3个,他们分别是EJBServletJSP),Servlet技术的推出扩展了Java语言在服务器端开发的功能,巩固了Java语言在服务器端开发过程中的地位,而且现在使用非常广泛的JSP技术也是基于Servlet的原理,JSP+JavaBeanstalk+Servlet成为实现MVC模式的一种有效的选择。

    Servlet简介

    和前面学习的JavaBean一样,Servlet本质上也是Java类,编写Servlet需要遵循java的基本语法,但是与一般的Java类不同的是Servlet是只能运行在服务器端的Java类,而且必须遵循特殊的规范,在运行过程中有自己的生命周期,这些特性都是Servlet所独有的。另外ServletHTTP协议是紧密联系的,所以使用Servlet几乎可以处理HTTP协议所有方面的内容,这也正是Servlet受到开发人员青睐的最大原因。

    Servlet工作原理

    一个简单jsp+servlet的登录例子

    JSP页面代码



    LoginServlet代码



    配置文件代码



    过程详解

    1、在jsp页面中提交表单到Tomcat,请求的urlhttp://127.0.0.1:8080/JavaWebExercise/loginServlet

    2、当请求达到Tomcat后服务器截取url获得客户端所请求的项目名称(这里为JavaWebExercise)。

    3、找到项目后再根据url截取所对应的servlet访问名称,这里为loginServlet

    4、根据loginServlet找到Servlet-name,这里为MyServlet

    5、根据Servlet-name找到对应的class文件,这里为com.foxmail.xxy668包下面的LoginServlet类。

    6、采用反射实例化找到的servlet类。

    7、根据请求的类别,调用servlet父类中service方法进行分发,

    8、根据service的分发调用相应的doGet/doPost(这里我们调用的是get方法)。

    9、取得传递过来的参数值。

    10、调用其他javaBean完成业务逻辑。

    11、完成业务逻辑返回给Servlet

    12、输出html字符串

    13、将html返回给Tomcat服务器

    14、通过得到的html渲染页面。

    整个调用的过程如下图所示


  • 相关阅读:
    架构设计之NodeJS操作消息队列RabbitMQ
    如何搭建一个功能复杂的前端配置化框架(一)
    Web as a App(Web既APP)的概念可以提出吗?
    Bottle源码阅读笔记(二):路由
    Bottle源码阅读笔记(一):WSGI
    Python__slots__详解
    [译]如何在Web开发中使用Python
    C#中Internal关键字的总结
    [DataContract]引用
    分享一个与ABP配套使用的代码生成器源码
  • 原文地址:https://www.cnblogs.com/beijiguangyong/p/2546896.html
Copyright © 2011-2022 走看看