zoukankan      html  css  js  c++  java
  • Servlet

    目录

    新建一个Servlet

    后台处理流程

    删除Servlet

    JSP和Servlet的联系和区别

    MVC架构


    Servlet(Server Applet)是Java Servlet的简称,称为小服务程序或服务连接器,是用Java编写的服务器端程序,具有独立于平台和协议的特性,主要功能在于交互式地浏览和生成数据,生成动态Web内容。

    狭义的Servlet是指Java语言实现的一个接口,广义的Servlet是指任何实现了这个Servlet接口的类,一般情况下,人们将Servlet理解为后者。Servlet运行于支持Java的应用服务器中。从原理上讲,Servlet可以响应任何类型的请求,但绝大多数情况下Servlet只用来扩展基于HTTP协议的Web服务器。

    新建一个Servlet

    我们新建一个 HelloServlet,它会自动生成内容,默认继承于 HttpServlet。

    它会自动在 web.xml 中加入其配置信息

    我们以 GET 方式访问该 Servlet

    发现页面返回的是该 Servlet 里面 doGet 函数的内容。如果我们是以POST方式访问该 Servlet,则返回的是该Servlet里 doPost函数的内容。

    创建 Servlet 的时候,除了doGet() 和 doPost() 函数,默认还会创建 init() 函数和 destory() 函数。

    • init() : 初始化,当第一次请求到来时,创建 Servlet 对象,并调用 init() 函数进行初始化。
    • destroy(): 当tomcat退出时被调用

    注:HelloServlet只创建一个实例,init() 只调用一次。所以,Servlet 类里一般不保存成员变量,如果有成员变量,也是用来保存一些全局的公共配置

    后台处理流程

    1. 接收浏览器 URL 的请求,访问 /servlet/HelloServlet
    2. 在配置文件 web.xml 中的<servlet-mapping>里查找,确定由 HelloServlet 来处理
    3. 从<servlet> 里查找,确定对应的类是my.HelloServlet

    删除Servlet

    • 删除 HelloServlet 类
    • 删除 WEB-INFclasses 下的 HelloServlet.class文件
    • 在 web.xml 里删除相关配置(否则tomcat在启动时会提示错误)

    JSP和Servlet的联系和区别

    • JSP是前端的页面,是在HTML中插入了JAVA代码,而Servlet是后端用纯JAVA写的处理流程。
    • JSP更擅长于页面表示,而Servlet更擅长于逻辑控制。
    • Servlet中没有内置对象,JSP中的内置对象都是必须通过HttpServletRequest对象,HttpServletResponse对象以及HttpServlet对象得到。
    • JSP的本质就是Servlet,JSP是 Servlet 的一种简化,使用JSP只需要完成程序员需要输出到客户端的内容。 而Servlet则是个完整的Java类。这个类的Service方法用于生成对客户端的响应,Servlet在Java代码中通过HttpServletResponse对象动态输出HTML内容到JSP中。

     Servlet和JSP最主要的不同点在于: Servlet的应用逻辑是在Java文件中,并且完全从表示层中的HTML里分离开来。 而JSP的情况是Java和HTML可以组合成一个扩展名为.jsp的文件。 JSP侧重于视图,Servlet主要用于控制逻辑。 Servlet更多的是类似于一个Controller,用来做控制。

    JSP和Servlet各自的缺点:

    • Servlet能够很好地组织业务逻辑代码,但是在Java源文件中通过字符串拼接的方式生成动态HTML内容会导致代码维护困难、可读性差
    • JSP虽然规避了Servlet在生成HTML内容方面的劣势,但是在HTML中混入大量、复杂的业务逻辑同样也是不可取的

    MVC架构

    既然JSP和Servlet都有自身的适用环境,那么能否扬长避短,让它们发挥各自的优势呢?答案是肯定的——MVC(Model-View-Controller)模式非常适合解决这一问题。

    MVC模式(Model-View-Controller)是软件工程中的一种软件架构模式,把软件系统分为三个基本部分:模型(Model)、视图(View)和控制器(Controller):

    • Controller——负责转发请求,对请求进行处理
    • View——负责界面显示
    • Model——业务功能编写(例如算法实现)、数据库设计以及数据存取操作实现

    1. Web浏览器发送HTTP请求到服务端,被Controller(Servlet)获取并进行处理(例如参数解析、请求转发)
    2. Controller(Servlet)调用核心业务逻辑——Model部分,获得结果
    3. Controller(Servlet)将逻辑处理结果交给View(JSP),动态输出HTML内容
    4. 动态生成的HTML内容返回到浏览器显示

    MVC模式在Web开发中的好处是非常明显,它规避了JSP与Servlet各自的短板,Servlet只负责业务逻辑而不会动态生成HTML代码;JSP中也不会充斥着大量的业务代码。这大大提高了代码的可读性和可维护性。

    参考文章:jsp和servlet的区别和联系

    相关文章:

  • 相关阅读:
    网易163邮箱被盗号找回经历
    C++中基类的析构函数为什么要用virtual虚析构函数
    像linux ls命令一样优雅地打印
    【Linux】- 六个超赞的字符画生成器
    linux欢迎界面 /etc/motd
    Linux 的 FIGlet 指令产生 ASCII Art 大型文字教学
    趣玩 Linux:四个生成字符图案(字符画)的命令
    案例参考手册-第四章 Curses字符界面.docx
    读取键盘输入流改为原始模式
    centos 7配置系统调度isolcpus(软中断绑定)
  • 原文地址:https://www.cnblogs.com/csnd/p/11807677.html
Copyright © 2011-2022 走看看