0821Servlet基础
什么是servlet
jsp页面的前身是servlet, 但是servlet和jsp是两个不同概念
servlet是运行在服务器端的一段程序, 是可以直接运行一段java后台代码
servlet特点:
1, 功能强大
2, 可移植性
3, 速度快, 性能高
4, 安全性高
5, 可扩展(面向对象)
与jsp的区别
1, 角色不同(视图层和控制层)
2, 编程方法不同
3, 是否需要重新编译
4, 运行速度不同
servlet的代码结构
public class 类名 extends HttpServlet{
protected void doGet(HttpServletRequest request, HttpServletResponse response) {
...执行代码块
}
protected void doPost(HttpServletRequest request, HttpServletResponse response) {
...执行代码块
}
}
在web.xml中配置servlet的访问路径
<servlet>
<servlet-name>定义一个名字</servlet-name>
<servlet-class>servlet类的全路径名(选中类名右键点复制限定名, 贴在这里)</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>与上面定义的名字一模一样<servlet-name>
<url-pattern>/请求的路径(与页面上的一模一样)</url-pattern>
</servlet-mapping>
servlet生命周期:
init();----初始化一个servlet类的实例, 这个方法只会执行一次
可以在web.xml中配置, <load-on-startup></load-on-startup>, 标签中写一个int型数字, 当这个值为0或者不配置这个标签的时候, 这个servlet将会在使用的时候才会去初始化, 其 他数字会在tomcat服务器运行的时候就加载, 数字越小, 优先级越高
service()方法
这个方法是响应客户请求的, 这个方法的执行来决定这个servlet是该调用doPost还是doGet
destory();----销毁一个servlet类的实例
停止tomcat的时候会调用此方法, 来销毁servlet实例对象, 释放资源
servlet中的9大内置对象
request
response
out--->response.getWriter(){注意, 这里的out跟response.getWriter()是有区别的}
application--->request.getServletContext()
session--->request.getSession()
pageContext--->参考jsp中pageContext的获取过程
page--->this对象
exception--->抛出的异常对象
config---调用父类的getServletConfig()
转载于:https://www.cnblogs.com/DONGb/p/7453464.html
0821Servlet基础相关推荐
- java入门 慕路径,Java入门基础知识总结学习教程大全【必看经典】
类型的表达式,是循环条件,表达式3是党执行了一遍循环之后,修改控制循环的变量值. ??? for语句的执行过程是这样的:首先计算表达式1,完成必要的初始化工作:然后判断表达式2的值,如果表达式的值为t ...
- 提交表单自动刷新_Web自动化测试:元素的基础操作和浏览器基础操作
上一节,我们了解了如何定位元素,其实也有涉及对于元素的操作,这一节我们就详细的介绍一下对于元素的操作和对于浏览器的一些操作 一.对于元素的基础操作: clear():清除输入框内的文本 send_ke ...
- java mybatis基础
java mybatis基础 1.1 什么是mybatis? mybatis是一个优秀的持久层框架. 避免几乎所有的JDBC代码和手动设置参数以及获取结果集的过程. 可以使用简单的xml或者注解来配置 ...
- 【J2SE】学习基础
Java基础 语法基础 OO Exception Array 基础类 I/O Stream Collection/Generic Thread TCP/UDP GUI Meta Data Regula ...
- 【Linux系统】基础总结
我不太清楚运维部门具体是做什么的,就接触过一点点运维部门! 也就是是知道他们负责管理服务器,管理网络,管理项目部署 偶尔自己需要部署,不得不接触一些linux命令.简单总结一些基础 linux系统发展 ...
- 【Java 2 Platform Enterprise Edition】基础
问题1:为什么java是无关平台? 你之前用C或者C++写的源代码,编译好后,换一种操作系统,可能就执行不了了.因为新的操作系统不识别,你需要修改你的源码,并在新的操作系统上重新编译才能运行,比如Wi ...
- SpringCloud Alibaba微服务实战(一) - 基础环境搭建
说在前面 Spring Cloud Alibaba 致力于提供微服务开发的一站式解决方案.此项目包含开发分布式应用微服务的必需组件,方便开发者通过 Spring Cloud 编程模型轻松使用这些组件来 ...
- Redis概述和基础
Redis 1.NoSQL NoSQL = Not Only SQL(不仅仅是SQL) 泛指非关系型数据库的,随着web2.0互联网的诞生!传统的关系型数据库很难对付web2.0时代!尤其是超大规模的 ...
- pass基础架构分析
pass基础架构分析 Relay 和 TVM IR,包含一系列优化passes,可提高模型的性能指标,如平均推理,内存占用,或特定设备的功耗.有一套标准优化,及特定机器学习的优化,包括常量折叠,死代码 ...
最新文章
- 多少人没熬过45-55这段危险期? 为家人, 请多看一眼!
- python如何读取mat文件可视化_python Matplotlib数据可视化(1):简单入门
- final 修饰方法参数
- js node 打包mac应用_混搭 TypeScript + GraphQL + DI + Decorator 风格写 Node.js 应用
- W: 无法下载 http://ppa.launchpad.net/fcitx-team/nightly/ubuntu/dists/jessie/main/binary-amd64/Packages
- mysql迁移之后读取速度变慢_如何解决数据库迁移之后变慢的问题
- HDU - 4686 Arc of Dream(矩阵快速幂,水题)
- 计算机扩展卡,对于电脑来说, 扩展卡是什么?与接口又有什么关系呢?
- ReactJs 第三章 React元素的渲染
- 常见的mysql权限设置
- 《微信生活白皮书》发布微信用户数据
- groupmod 修改用户组信息
- px4 Linux下环境的配置 gcc-arm装不上 OpenGL=3.1 问题
- ccproxy 6.61 注册机(纯绿/傻瓜/真正去除线程限制)
- Qt2D游戏开发引擎QtGameEngine使用入门10——游戏中如何响应用户输入(鼠标/键盘输入)
- 数字货币量化分析报告_2017-09-04
- C语言半框,不同的镜架结构优劣大盘点
- IP地址和物理地址的区别和联系
- 408真题-2022
- ICNS格式文件用途及分析
热门文章
- Invoke and BeginInvoke BeginInvoke和EndInvoke方法 (转)2
- 系统gpu 调试_KubeFlow上的GPU即服务:快速,可扩展且高效的ML
- python mpi 多节点_python – 如何找到MPI(4PY)可用的内核数量?
- github的python代码怎么跑_如何利用Python模拟GitHub登录详解
- leetcode - 121.买卖股票的最佳时机
- 去哪儿-04-iconsDev
- 【转】前端开发必备网站
- python 3.5安装pywin32
- LPeg 0 10的编译与使用
- Servlet验证码功能