zoukankan      html  css  js  c++  java
  • Servlet与JSP概念理解

    Servlet是用Java编写的服务端程序。需要部署到servlet容器上才能运行,tomcat 就是一个servlet容器。


    1、Servlet的生命周期

    客户端请求该 Servlet --> 加载Servlet类到内存 -->  实例化并调用init()方法初始化该Servlet --> 响应客户请求阶段(调用service()方法) -->  销毁 (destroy()) 


    2、什么时候Servlet容器装载Servlet:

    1)Servlet容器启动时自动装载某些Servlet,实现它只需要在web.xml文件中的<servlet></servlet>之间添加如下代码:<load-on-startup>1</load-on-startup>  

    2)在Servlet容器启动后,客户首次向Servlet发送请求。

    3)Servlet类文件被更新后,重新装载Servlet。

    Servlet被装载后,Servlet容器创建一个Servlet实例并调用Servlet的init()方法进行初始化。在Servlet的整个生命周期内,init()方法只被调用一次。


    3、Servlet与JSP的比较:

    相似点:都可以生成动态网页。

    JSP的优点是擅长于网页制作,生成动态页面比较直观,缺点是不容易跟踪与排错。

    Servlet是纯Java语言,擅长于处理流程和业务逻辑,缺点是生成动态网页不直观。


    4、JSP

    1) 概念

    JSP其实就是一个以“.jsp”为后缀的文件,该文件的内容主要是html和少量的java代码(<% java代码 %>    <%=java代码 %>)。

    Jsp文件会被容器转换成一个servlet然后执行

    具体转换方式:对于html(css,js)来说,会放到service方法里,使用out.write输出; 而<% %>会照搬到service方法中

    2)隐含对象 --jsp9个内置对象 http://www.cnblogs.com/nannan0226/p/6378968.html

    定义:在jsp文件里可以直接使用的对象。比如out、request、response

    3)指令

    定义:通知容器将jsp文件转换成一个servlet类时做一些额外的处理。比如导包。

    格式: <%@指令的名称 属性名称=值%>

    常用指令:

    i: page指令:

    import属性:导包。 

    contentType属性:设置response.setContentType方法的参数值。 

    pageEncoding属性:告诉容器jsp文件的字符集,容器会按照属性指定的字符集去解码。例子如下:

    <%@ page language="java" import="java.util.*" contentType="text/html; charset=utf-8" pageEncoding="utf-8"%>

    ii: taglib指令:定义标签

    <%@ taglib prefix="s"  uri="/struts-tags"%>

    iii: include指令:引入指定jsp文件

    <%@include file="/common/taglibs.jsp"%>

  • 相关阅读:
    LeetCode Product of Array Except Self
    python基础学习笔记(十)
    python基础学习笔记(九)
    python基础学习笔记(八)
    python基础学习笔记(六)
    python基础学习笔记(七)
    python基础学习笔记(五)
    python基础学习笔记(一)
    python基础学习笔记(三)
    python基础学习笔记(四)
  • 原文地址:https://www.cnblogs.com/amunamuna/p/6393505.html
Copyright © 2011-2022 走看看