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"%>

Servlet与JSP概念理解的更多相关文章

  1. SNF快速开发平台2019-角色、权限、账户的概念理解-非常全的理论讲解权限控制

    组织模型   资源模型  操作模型 谁能够执行哪些操作    执行资源的范围 资源概念资源就是想要的到的最终物质,我们可以给每一个资源定义一个权限,也可以给某一类资源定义一个权限 权限概念权限是对资源 ...

  2. 基于Servlet、JSP、JDBC、MySQL的一个简单的用户注冊模块(附完整源代码)

    近期看老罗视频,做了一个简单的用户注冊系统.用户通过网页(JSP)输入用户名.真名和password,Servlet接收后通过JDBC将信息保存到MySQL中.尽管是个简单的不能再简单的东西,但麻雀虽 ...

  3. Servlet与jsp间的传值问题

    Servlet与JSP 之间的传值有两种情况:JSP -> Servlet, Servlet -> JSP.通过对象 request和 session (不考虑 application)完 ...

  4. Servlet与Jsp的结合使用实现信息管理系统一

    PS:1:先介绍一下什么是Servlet? Servlet(Server Applet)是Java Servlet的简称,称为小服务程序或服务连接器,用Java编写的服务器端程序,主要功能在于交互式地 ...

  5. 简述Servlet的基本概念

    Servlet的基本概念 Servlet的概念 http协议作用于客户端-服务端.由客户端发送请求(Request),服务器端接收到数据之后,向客户端发送响应(Response),这就是请求-响应模式 ...

  6. 【jsp】Servlet与jsp之间的传值

    Servlet与JSP 之间的传值有两种情况:JSP -> Servlet, Servlet -> JSP. 通过对象 request和 session (不考虑 application) ...

  7. Java SE/EE/ME概念理解(Java版本发展历史)

    继上一篇文章http://www.cnblogs.com/EasonJim/p/6181981.html中说的区别,其实分析的不够彻底,因此再次在这里做详细的分析. 零.Java与Sun.Oracle ...

  8. hibernate 结合servlet及 jsp 的使用

    Hibernate结合JSP使用 前面几章详细的介绍了Hibernate的相关知识,这一章介绍Hibernate结合JSP和Servlet的使用,通过这一章的学习,可以加深对Hibernate的理解. ...

  9. SpringMVC内容略多 有用 熟悉基于JSP和Servlet的Java Web开发,对Servlet和JSP的工作原理和生命周期有深入了解,熟练的使用JSTL和EL编写无脚本动态页面,有使用监听器、过滤器等Web组件以及MVC架构模式进行Java Web项目开发的经验。

    熟悉基于JSP和Servlet的Java Web开发,对Servlet和JSP的工作原理和生命周期有深入了解,熟练的使用JSTL和EL编写无脚本动态页面,有使用监听器.过滤器等Web组件以及MVC架构 ...

随机推荐

  1. Photoshop和Halcon如何锐化彩色图像不伤其颜色

    锐化图像是摄影中的一步重要操作. 锐化是通过颜色提纯达到锐化的目的.一旦锐化过度,照片很容易就会出现不自然的色斑,或溢色效果. 我们以Photoshop中的“USM锐化滤镜”为例:(为了使效果明显,我 ...

  2. Tooltips2

    #include<windows.h> #include<Commctrl.h> #include"resource.h" #pragma comment( ...

  3. Ubuntu16装Flash

    第一种方法: 1)下载flash的tar.gz压缩包.(以·tar.gz为后缀的文件是一种压缩文件,在Linux和macOS下常见,Linux和macOS都可以直接解压使用这种压缩文件) https: ...

  4. sql server2008 装上后,总是出现machine.config line136,或者 出现 配置错误 无法识别的配置节 system.serviceModel 。

    怀疑问题是vs 和 sql server2008安装冲突的问题造成, 有一个这样的说法: 用win8.1的64位 的系统,如果先装vs2010,再装sql server 2008 r2,根本就不行,一 ...

  5. dubbo的灰度发布

    1,什么是灰度发布 当一个接口实现,出现不兼容升级时,可以用版本号过渡,版本号不同的服务相互间不引用. 可以按照以下的步骤进行版本迁移: 在低压力时间段,先升级一半提供者为新版本 再将所有消费者升级为 ...

  6. CPA-计划

    平时周一到周五上班晚上8点到12点,周末6-8个小时,然后没有节假日,一次差不多可以3.4科 审计 看150页  3小时,看完,做题 2天时间,5门课程,12小时考试,没想到能完整地挺过来.感觉税法战 ...

  7. java.lang.SecurityException: java.lang.IllegalStateException: java.io.FileNotFoundException:XXXXXX(系统找不到指定文件)

    项目启动成功过,但访问页面抛出异常. 在Maven项目启动的时候,tomcat缓存机制没有吧maven jar除外的jar执行到项目里面,所有不要慌,项目重新启动就OK了, 如果这样还是不行的话就找到 ...

  8. 怎么设置tomcat在get请求的中文也不乱码?两种情况下配置

    我们都知道,get请求和post请求的一个比较显著区别就是,在使用post请求的时候,中文不会乱码,但是在使用get请求的时候,如果url后面带有中文就会乱码了.那么这个怎么解决呢? 前提:配置项目的 ...

  9. windowsserver的应用升级部署坑

    jar文件的后缀名要打开显示,否者备份的‘.bak20190820’可能后面还是jar可执行文件,以至于mybatis这类xml映射器的namespace方法重复扫上去导致注册tomcat conte ...

  10. idea整合mybatis逆向工程

    --pom.xml添加插件 <build> <finalName>hnapi</finalName> <plugins> <plugin> ...