JavaEE Web开发之Servlet篇
一、Servlet基础
a) Servlet和JSP的关系
1、 Servlet是一个运行在服务器端的Java程序,它可以动态地生成web页面,是属于客户和服务器响应的中间层。可以说JSP就是一个Servlet。
2、 Servlet是JSP的底层实现;实际上,在运行JSP时,服务器底层将JSP编译成一个Servlet。
3、 Servlet适合纯编程,和Servlet相比,编写JSP成本更低。
b) Servlet的编写
1、 继承javax.servlethttp.HttpServlet;
2、 重写HttpServlet的doGet()和doPost()方法
doGet()和doPost()方法使用来处理业务逻辑上。
3、 在web.xml中配置Servlet
<servlet>
<servlet-name>Servlet名</servlet-name>
<servlet-class>Servlet类路径</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>Servlet名</servlet-name>
<url-pattern>映射路径</url-pattern>
</servlet-mapping>
<servlet>和<servlet-mapping>中配置的<servlet-name>要一致才能制定此两项配置是同一个Servlet。
4、 部署Servlet
c) Servlet的运行机制
初次运行Servlet时实例化Servlet
Servlet采用多线程机制,首次执行时实例化,当有多个用户请求时创建多个线程,每次请求时执行doGet()或doPost()方法。
d) Servlet的生命周期
init()方法:Servlet实例化过程中将会调用此方法。
doGet()/doPost()/service()方法:当用户请求Servlet时会调用service方法,service方法会根据请求类型去调用doGet()或doPost()方法。
destroy()方法:Servlet实例消亡时自动调用此方法。
e) Servlet与JSP内置对象
1、 JSP的request对象---HttpServletRequest
2、 JSP的response对象---HttpServletResponse
3、 JSP的out对象---Servlet的(PrintWriter)response.getWriter()
4、 JSP的session对象---Servlet的(HttpSession)resquest.getSession()
5、 JSP的application对象---Servlet的(ServletContext)this.getServletContext()
f) Servlet参数读取和web.xml的参数配置
1、 web.xml文件参数配置
a) 全局参数配置:所有的Servlet都能访问
全局参数配置在web.xml的最上面,格式为:
<context-param>
<param-name>参数名</param-name>
<param-value>参数值</param-value>
</context-param>
b) 局部参数配置:只有相应的Servlet才能访问
配置格式为:
<servlet>
<servlet-name>Servlet名称</servlet-name>
<servlet-class>Servlet类路径</servlet-class>
<init-param>
<param-name>参数名</param-name>
<param-value>参数值</param-value>
</init-param>
</servlet>
2、 Servlet获取参数
a) 获取全局参数
ServletContext application = this.getServletContext();
Application.getInitParameter(“参数名”);
b) 获取局部参数
this.getInitParameter(“参数名”);
二、Servlet高级
a) Servlet页面跳转
1、 Servlet重定向
使用response.sendRedirect(url)
页面重定向到一个新的页面,同JSP中的response.sendRedirect();
2、 Servlet服务器跳转
ServletContext application = this.getServletContext()
RequestDispatcher rd=application.getRequestDispatcher(url)
rd.forword(request,response);
该方式同JSP中的<jsp:forword page=””></jsp:forward>
b) ServletContext高级功能:(application对象)
获取当前项目资源的绝对路径信息:使用getRealPath()
转载于:https://www.cnblogs.com/leejie/archive/2012/07/26/Servlet.html
JavaEE Web开发之Servlet篇相关推荐
- Java服务器接口快速开发之Servlet详细教程
今日科技快讯 7月14日晚间消息,据乐视网刚刚披露的业绩预告,公司预计2017年上半年亏损6.37亿至6.42亿元,上年同期盈利2.84亿元.报告期内,乐视网资产减值损失计提规模较大约为2.3亿元,其 ...
- Swift Web 开发之 Vapor - 入门(一)
简介 Vapor 是一个基于纯 Swift 构建出的 Web 开发框架,目前可以运行在 macOS 和 Ubuntu ,用于构建出漂亮易用的网站或者 API 服务. 官方称是用的最多的 Swift w ...
- Swift Web 开发之 Vapor - 模版 Leaf(三)
模版引擎,对现在的 Web 开发极为重要,几乎所有主流 Web 框架都会支持一种或多种模版引擎,模版引擎可以分离用户界面和业务逻辑,工作原理主要是一种翻译,后端对特定的标记.语法.变量等渲染后再输送给 ...
- 视频教程-跟着王进老师学开发之C#篇:基础语法-C#
跟着王进老师学开发之C#篇:基础语法 教学风格独特,以学员视角出发设计课程,难易适度,重点突出,架构清晰,将实战经验融合到教学中.讲授技术同时传递方法.得到广大学员的高度认可. 王进 ¥208.00 ...
- 跟着王进老师学开发之C#篇:基础语法-王进-专题视频课程
跟着王进老师学开发之C#篇:基础语法-10520人已学习 课程介绍 本次课程是初级课程,只要熟悉计算机的基本应用和操作,都可以完成本次课程学习.本课程深入浅出的介绍了C#语言的基本语法 ...
- 跟着王进老师学开发之Python篇第一季:基础入门篇-王进-专题视频课程
跟着王进老师学开发之Python篇第一季:基础入门篇-2859人已学习 课程介绍 本季课程首先对Python简要介绍,然后演示如何搭建Python的开发环境,以及如何在IDE中调试Py ...
- 视频教程-跟着王进老师学开发之Python篇第一季:基础入门篇-Python
跟着王进老师学开发之Python篇第一季:基础入门篇 教学风格独特,以学员视角出发设计课程,难易适度,重点突出,架构清晰,将实战经验融合到教学中.讲授技术同时传递方法.得到广大学员的高度认可. 王进 ...
- 移动web开发之rem布局(rem基础、媒体查询、 less 基础、rem适配方案)
移动web开发之rem布局 一.rem基础 rem单位 rem (root em)是一个相对单位,类似于em,em是父元素字体大小. 不同的是rem的基准是相对于html元素的字体大小. 比如,根元素 ...
- Jmeter Kafka插件开发之Sampler篇
Jmeter Kafka插件开发之Sampler篇 背景:在项目中经常需要往kafka里面写数据,并拿生成的数据执行后续的操作,并且有些接口中也需要用到kafka里的数据,小编使用JMeter做接口测 ...
最新文章
- 一场高质量的技术盛会怎样炼成?「2019中国大数据技术大会」蓄势待发,还不快上车?...
- [Buzz.Today]HP停止 webOS 设备的研发和运作
- oracle可以迁徙mysql吗_项目oracle迁徙到mysql的小总结
- Activiti-01
- PHP5各个版本的新功能和新特性总结
- linux web 服务器性能,Linux系统Web服务器性能测试(2)
- 动手写的Python的HTML语法分析器(面向对象)
- 剑指offer之用链表实现栈(带头节点)
- 【测试工具】在linux测试环境安装bug管理工具禅道
- [机器学习]正则化项L1和L2的学习与理解
- 音视频技术傻瓜版解析:带你解锁RTMP
- Eclipse中,对工作空间中的项目进行分组(在查询中,也可也选择这个分组)。
- juc包下四大并发工具
- animate支持的css属性
- paip.最省内存的浏览器评测 cah
- Spring MVC @JsonView使用详解
- DWM1000 帧过滤代码实现
- 工具篇:Navicat-12版本破解安装
- 【Linux的开胃小菜】基于Ubuntu搭建内网DNS服务器
- 【转】Xposed+JustTrustMe关闭SSL证书验证解决无法抓取https包问题
热门文章
- 【机器学习】Apriori 算法进行关联分析和FP-growth算法
- python基础练习(六)
- java 正则 u2E80_java正则表达式中的POSIX 字符类和Unicode 块和类别的类介绍
- pmp学习资料_PMP怎样叫通过考试,拿到证书?
- 长沙网络推广教你如何在网站优化中让URL标准化?
- 网络推广外包——网络推广外包专员浅析移动端网站建设要点
- 浅析刚刚起步的创业公司应该如何选择适合自己的网站类型呢?
- mysql导入sql文件限制,Mysql导入大容量SQL文件数据有关问题
- java opencv 平移_如何使用opencv pnpRansac()函数中的平移矩阵和旋转矩阵设置Rajawali相机的旋转?...
- mysql使用大内存页面,设置MySQL使用大内存页面