Servlet(简介,请求参数,页面跳转,生命周期,创建,配置,ServletContext,线程)
1.Servlet简介
servlet是java servlet的简称,称为小服务程序或服务连接器,用Java编写的服务器端程序,
主要功能在于交互式浏览和修改数据,生成动态的web内容
服务端运行的小程序:MVC(Model view Controller)
servlet运行于支持Java的应用服务器中。从现实上讲,Servlet可以响应任何类型的请求,但
绝大多数情况下servlet只用来扩展基于http协议的web服务器
servlet:可以接受客户端的任何请求
servlet编程需要使用到javax.servlet和javax.dervlet.http两个包下的类和接口在所有的接口中
javax.servlet.servlet接口最为重要。所有的servlet程序都必须实现该接口或者继承实现该接口的类。
2.Servlet的基本使用
1.在src创建package
2.选中刚刚创建的包,右键-->new-->Servlet
3.找到doGe写上“hello word”

1.发布右键-->Run As-->Run on Server
2.浏览器输入网址访问:http://localhost:8080/项目名称/HelloServlet
3.常见的错误

4.HTTP协议
4.1什么是http协议
超文本传输协议(HTTP,HyperText Transfer Protocol)是互联网上应用最为广泛的一种网络协议,是一个基于请求与响应模式的、无状态的、应用层的协议,常基于TCP的连接方式
4.2.HTTP的特点

4.3HTTP请求的过程(面试)

5.Servlet的三种创建方式
Servlet的第一种创建方式:继承HttpServlet

Servlet创建的第二种方式:实现接口Servlet

Servlet的第三种创建方式:继承GenericServlet类

6.Servlet的两种配置方式
6.1 Servlet的web.xml配置

6.2 注解式配置Servlet3.0以后

7.Servlet的生命周期

8.获取请求的参数
9.Servlet路径的处理和特性(******)
9.1 什么是重定向
重定向就是通过各种方法将各种网络请求重新定个方向转到其它位置和下面要介绍的转发都是跳转方式。
重定向的特点:

重定向和转发的区别(面试):

9.1.1 实现重定向(response.sendRedirect)

9.2 请求转发
servlet除了支持重定向之外还支持请求转发
原理:我像你借钱,你没有钱,而你也没有回复我,默默的向你的朋友的借钱给我。
特点:

9.2.1 实现请求转发(request.getRequestDispacher)

9.3 转发的另一种方式refresh

10.ServletContext
10.1 什么是ServletContext
Servlet上下文又叫做:ServletContext。
当WEB服务器启动时,会为每一个WEB应用程序(webapps下的每个目录就是一个应用程序)创建一块共享的存储区域
ServletContext也叫做“公共区域”,也就是同一个WEB应用程序中,所有的Servlet和JSP都可以共享同一个区域。
ServletContext在WEB服务器启动时创建,服务器关闭时销毁
容器在启动的时候,会为每一个web应用创建唯一的一个符合ServletContext接口的对象,该对象一般称之为"servlet上下文"。
10.2 Servlet上下文中的作用及特点


11. Servlet线程安全问题11.1 线程安全问题

11.2 如何保证线程的安全问题

Servlet(简介,请求参数,页面跳转,生命周期,创建,配置,ServletContext,线程)的更多相关文章
- [02] Servlet获取请求和页面跳转
1.Tomcat和Servlet的关系 之前提到过,Servlet是运行在Web容器里的,Tomcat作为容器的一种,在这里自然也要大概说说两者之间的大致关系. 首先,如上所述,Tomcat是Web应 ...
- SpringMVC内容略多 有用 熟悉基于JSP和Servlet的Java Web开发,对Servlet和JSP的工作原理和生命周期有深入了解,熟练的使用JSTL和EL编写无脚本动态页面,有使用监听器、过滤器等Web组件以及MVC架构模式进行Java Web项目开发的经验。
熟悉基于JSP和Servlet的Java Web开发,对Servlet和JSP的工作原理和生命周期有深入了解,熟练的使用JSTL和EL编写无脚本动态页面,有使用监听器.过滤器等Web组件以及MVC架构 ...
- 1.2(学习笔记)Servlet基础(doGet、doPost、生命周期、页面跳转)
一.doGet()与doPost() 我们在TestServlet类中重写doGet().doPost().service(). import javax.servlet.ServletExcepti ...
- Ajax发送POST请求SpringMVC页面跳转失败
问题描述:因为使用的是SpringMVC框架,所以想使用ModelAndView进行页面跳转.思路是发送POST请求,然后controller层中直接返回相应ModelAndView,但是这种方法不可 ...
- Servlet、JSP中页面跳转的方式
一.Servlet:当然,在servlet中,一般跳转都发生在doGet, doPost等方法里面.1) redirect 方式response.sendRedirect("success ...
- 使用ajax发送的请求实现页面跳转
ajax 本身是不适用于页面跳转的: 可以借助其他方法实现: 1,window.location.href = "/home"; 2,springMVC 返回的modelAndVi ...
- 【深入ASP.NET原理系列】--ASP.NET请求管道、应用程序生命周期、整体运行机制
微软的程序设计和相应的IDE做的很棒,让人很快就能有生产力..NET上手容易,生产力很高,但对于一个不是那么勤奋的人,他很可能就不再进步了,没有想深入下去的动力,他不用去理解整个框架和环境是怎么执行的 ...
- 详细理解servlet实现的几种方式和生命周期
现在很多的开发都是用的框架,然后很多同学学习的时候又是直接接触的框架,对于底层的一些开发,完全没有任何的了解.虽然对于业务上面来说,没有什么问题.但是很多时候当你被面试问到,或者是想要了解框架底层原理 ...
- 微信小程序笔记<五> 页面管理及生命周期(route)——getCurrentPages()
在小程序中所有页面的路由全部由框架进行管理,而框架以栈的形式维护了当前的所有页面. 当发生路由切换时,页面栈的表现: getCurrentPages() 用于获取当前页面栈的实例,可以把 getCur ...
- 详细理解servlet实现的三种方式和生命周期
阅读目录 开发servlet的三种方式 理解实现servlet接口的方式,理解servlet生命周期 Servlet接口有五个方法 继承GenericServlet 继承HttpServlet 现在很 ...
随机推荐
- Mac下如何使用homebrew
Homebrew简称brew,是Mac OSX上的软件包管理工具,能在Mac中方便的安装软件或者卸载软件. 常用的命令: 搜索软件:brew search 软件名,如brew search wget ...
- 网络健身O2O,能火吗?
谈到中国想要020的那些项目,总给人一种土豪烧钱的怪异形象,而最终的成败因素也变得简单,也即谁能烧到最后,谁就能称霸市场,可问题在于,前期投入太多,谁也不甘心主动退出,最后,只落得个油尽灯枯.这 ...
- Android 绘制中国地图
最近的版本有这样一个需求: 有 3 个要素: 中国地图 高亮省区 中心显示数字 面对这样一个需求,该如何实现呢? 高德地图 因为项目是基于高德地图来做的,所以很自然而然的想到了高德.但是当查阅高德地图 ...
- Android中JNI的使用方法(转载)
Android中JNI的使用方法 首先看一下Android平台的框架图:(网上盗用) 可以看到Android上层的Application和ApplicationFramework都是使用Java编写, ...
- C++走向远洋——30(六周,项目一1.0)
*/ * Copyright (c) 2016,烟台大学计算机与控制工程学院 * All rights reserved. * 文件名:fenshu.cpp * 作者:常轩 * 微信公众号:World ...
- NumPy的随机函数子库——numpy.random
NumPy的随机函数子库numpy.random 导入模块:import numpy as np 1.numpy.random.rand(d0,d1,...,dn) 生成一个shape为(d0,d1, ...
- FastDfs安装文档
安装顺序 libfastcommon fdfs_tracker ==> 依赖:Gcc.libevent.perl fdfs_storage FastDFS-nginx-module nginx ...
- flask连接mysql出现ModuleNotFoundError: No module named 'MySQLdb'
只需在配置SQLALCHEMY_DATABASE_URI时,加上pymysql就可以了: app.config['SQLALCHEMY_DATABASE_URI'] = 'mysql+pymysql ...
- 【Java必修课】判断String是否包含子串的四种方法及性能对比
1 简介 判断一个字符串是否包含某个特定子串是常见的场景,比如判断一篇文章是否包含敏感词汇.判断日志是否有ERROR信息等.本文将介绍四种方法并进行性能测试. 2 四种方法 2.1 JDK原生方法St ...
- An incompatible version [1.1.33] of the APR based Apache Tomcat Native library is installed, while Tomcat requires version [1.2.14]
Springboot项目启动出现如下错误信息 解决办法在此地址:http://archive.apache.org/dist/tomcat/tomcat-connectors/native/1.2.1 ...