JSP-11-Servlet
1 初识Servlet
Ø Servlet做了什么
本身不做业务
只接收请求并决定调用哪个JavaBean去处理请求
确定用哪个页面来显示处理返回的数据
Ø Servlet 是什么
Servlet是一个Java程序,是在服务器端运行以处理客户端请求并做出响应的程序。
Server+Applet, 是一种服务器端的Java应用程序
只有当一个服务器端的程序使用了 servlet API的时候,这个服务端的程序才能称之为Servlet.
Ø ServletAPI介绍
API: 应用程序接口
javax.servlet.Servlet
所有Java Servlet的基础接口类。规定了必须由Servlet具体类实现的方法集。
javax.servlet.GenericServlet
是 Servlet的通用版本,是一种与协议无关的Servlet。
Javax.servlet.http.HttpServlet
在GenericServlet基础上扩展的基于Http协议的Servlet.在程序中,常常是继承此类。需要注意的是,Httpservlet的子类至少重写以下方法中的一个 doGet()和doPost()。
Ø Servlet的生命周期
Servlet容器负责加载和实例化Servlet。 Servlet容器有时候也叫做Servlet引擎,是Web服务器或应用服务器的一部分,用于在发送的请求和响应之间提供网络服务。在这里我们可以把Servlet容器理解为 Tomcat。
加载和实例化
当Servlet容器启动或者容器检测到客户端请求时,加载和实例化。
Servlet容器会查找内存中是否存在Servlet实例,如果不存在,就创建,如果存在,就直接从内存中取出。
初始化 init()方法
实例化后,容器调用 Servlet的init(), 初始化对象。
提供服务,请求处理 service()
初始化后,Servlet就处于能响应请求的就绪状态。此时得到客户端请求并做出处理。(多线程响应)。
销毁 destroy()方法
当程序中的Servlet对象不再使用的时候或者Web服务停止的运行的时候
Ø Servlet的主要方法
|
Init() |
Servlet的初始化方法,仅仅会执行一次 |
|
Service() |
处理请求和生成响应 |
|
Destroy() |
在服务器停止并且程序中的Servlet对象不再使用的时候调用,只执行一次 |
|
ServletRequest |
封装客户的请求信息 |
|
ServletResponse |
创建响应信息,将处理结果返回给客户端 |
|
ServletConfig |
包含了Servlet的初始化参数信息 |
Ø Servlet处理 Get/Post 请求
HttpServletRequest request对象的用户
//获得参数
Request.getParameter(“param”);
//将输入的内容转换为中文
Request.setCharacteEncoding(“GBK”);
Request.setAttribute(“loginname”,user);
HttpServletResponse response 对象常用方法
//解决中文乱码问题
Response.setContentType(“text/html;charset=GBK”);
Response.sendRedirect(“url”);
转发
RequestDispatcher dispatcher = request.getRequestDispatcher(url);
首先定义转发器。参数 url 是鱼转发的页面或者 Servlet的URL地址。
Dispatcher.forward(request,response);
然后实现转发的功能,参数为请求、响应对象。
14.2 Servlet 的部署与配置
当前项目的web.xml
<web-app>
<servlet>
<servlet-name>自定义名称</servlet-name>
<servlet-class>servlet实际类的具体位置</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>同上自定义的名称 </servlet-name>
<url-pattern>用户访问Servlet的URL</url-pattern>
</servlet-mapping>
</web-app>
JSP-11-Servlet的更多相关文章
- Java Web开发 之小张老师总结EL、JSP、Servlet变量
EL 11 JSP 9 Servlet JSP类别 pageContext pageContext * 作用域 pageScope pageContext.getAttribute() * reque ...
- Jsp与servlet之间页面跳转及参数传递实例(转)
原网址:http://blog.csdn.net/ssy_shandong/article/details/9328985 11. jsp与servlet之间页面跳转及参数传递实例 分类: Java ...
- 图解JSP与Servlet的关系
Servlet是Java提供的用于开发Web服务器应用程序的一个组件,运行在服务器端,由Servlet容器所管理,用于生成动态的内容.Servlet是平台独立的Java类,编写一个Servlet, ...
- JSP和Servlet面试题
1.讲下servlet的执行流程. Servlet的执行流程也就是servlet的生命周期,当服务器启动的时候生命周期开始,然后通过init()<启动顺序根据web.xml里的startup-o ...
- jsp、servlet笔记
1.init 初始化Jsp&Servlet方法 destroy 销毁Jsp&Servlet之前的方法 service 对用户请求生成响应的方法2.Jsp文件必须在jsp服 ...
- SpringMVC内容略多 有用 熟悉基于JSP和Servlet的Java Web开发,对Servlet和JSP的工作原理和生命周期有深入了解,熟练的使用JSTL和EL编写无脚本动态页面,有使用监听器、过滤器等Web组件以及MVC架构模式进行Java Web项目开发的经验。
熟悉基于JSP和Servlet的Java Web开发,对Servlet和JSP的工作原理和生命周期有深入了解,熟练的使用JSTL和EL编写无脚本动态页面,有使用监听器.过滤器等Web组件以及MVC架构 ...
- java语言体系的技术简介之JSP、Servlet、JDBC、JavaBean(Application)
转自:https://zhangkunnan.iteye.com/blog/2040462 前言 Java语言 Java语言体系比较庞大,包括多个模块.从WEB项目应用角度讲有JSP.Servlet. ...
- 【转】(超详细)jsp与servlet之间页面跳转及参数传递实例
初步学习JavaEE,对其中jsp与Servlet之间的传值没弄清楚,查看网上资料,发现一篇超详细的文章,收获大大,特此记录下来.具体链接:http://blog.csdn.net/ssy_shand ...
- JSP和Servlet的中文乱码处理
JSP和Servlet的中文乱码处理 前几天学习了JSP和Servlet中有关中文乱码的一些问题,写成了博客,今天进行更新一下.应该是可以解决日常的乱码问题了.现在作以下总结希望对需要的人有所帮助.我 ...
- 一、JSP、servlet、SQL三者之间的数据传递(前台与后台数据交互)
背景: 目前业界很流行的MVC(model-view-control)开发模式,理解为 模型是Bean, 视图是 Html/Jsp, 控制是Servlet, 关联数据库的Dao web的运行机制: 数 ...
随机推荐
- DockerFile 参数详解
Docker 指令: From --- ENV ---设置环境变量ENV App_DIR /appp Add 和 Copy 可以复制文件到容器里面 .区别 Add 可以写网络的链接地址 Add 支持解 ...
- 怎么控制表单placeholder属性的样式兼容各大浏览器?
当我们使用placeholder的时候会遇到样式的控制和版本的兼容问题(但是还是只有css3支持),以至于达不到我们想要的效果,下面来看一种: 下面是css: .invalid:-moz-placeh ...
- java ReentrantLock可重入锁功能
1.可重入锁是可以中断的,如果发生了死锁,可以中断程序 //如下程序出现死锁,不去kill jvm无法解决死锁 public class Uninterruptible { public static ...
- mysql远程连接提示无法连接,报1130错误
可能是你的帐号不允许从远程登陆,只能在localhost.这个时候只要在localhost的那台电脑,登入mysql后,更改 “mysql” 数据库里的 “user” 表里的 “host” 项,从”l ...
- (转)实例分析:MySQL优化经验
[IT专家网独家]同时在线访问量继续增大,对于1G内存的服务器明显感觉到吃力,严重时甚至每天都会死机,或者时不时的服务器卡一下,这个问题曾经困扰了我半个多月.MySQL使用是很具伸缩性的算法,因此你通 ...
- 通过 --py-files 可以在pyspark中可以顺利导入
文件import问题 问题: 在脚本中import了其他文件, pyspark中可以运行, 但是在spark-submit中总是失败 假定我们的任务脚本为 app.py , 大体代码像这样: from ...
- Matlab图像处理函数:regionprops
本篇文章为转载,仅为方便学术讨论所用,不用于商业用途.由于时间较久,原作者以及原始链接暂时无法找到,如有侵权以及其他任何事宜欢迎跟我联系,如有侵扰,在此提前表示歉意.----------------- ...
- Python脚本模拟登录网页之ZiMuZu篇
ZiMuZu.tv这个网站喜欢看电影看美剧的人一定都熟悉. 这个网站原先的升级策略是每天登陆网站, 然后去一个"每日签到"的页面点击一个签到按钮, 以实现帐号等级的升级. 之前网上 ...
- html5:地理信息 LBS基于地理的服务和百度地图API的使用
地理位置请求 单次定位请求getCurrentPosition(请求成功函数,请求失败函数,数据收集方式) 多次定位请求watchPosition(请求成功函数,请求失败函数,数据收集方式) 关闭更新 ...
- NTFS 权限讲解 ACL
节选自:Securing Windows Server 2003 4.1 Protecting Files with NTFS File Permissions The primary techniq ...