servlet基础概念
一、servlet是什么?
运行在Web服务器上(如:tomcat),作为浏览器请求与数据库或其他应用程序之间的中间层
二、servlet主要任务:
1.读取浏览器发送的显式数据(如:html表单)隐式数据(如:cookies);
2.处理数据并生成结果,期间可能访问数据库;
3.发送显式数据(word文档,html,xml,exl)给客户端(浏览器),或者发送隐式数据(缓存参数,cookies)).
三、包
使用javax.servlet和javax.servlet.http创建
四、生命周期
1.初始化:init();只在创建servlet对象创建后调用一次,每一个用户请求都会创建一个线程。
2.处理请求:service();自动调用doGet()和doPost()方法,可以根据需求重写。
3.结束:destory();结束数据库访问,关闭线程,cookies列表写入磁盘
4.垃圾回收:JVM的垃圾回收器
五、sevlet表单数据
1. get方法向页面发送已编码的用户信息,页面和编码之间用?分隔,请求字符串最大1024字符,密码不建议这样传输如:http://www.test.com/hello?key1=value1&key2=value2
2. post方法单独传消息,servlet使用doPost()处理
3. getParameter():您可以调用 request.getParameter() 方法来获取表单参数的值。getParameterValues():如果参数出现一次以上,则调用该方法,并返回多个值,例如复选框。
- getParameterNames():
- 如果您想要得到当前请求中的所有参数的完整列表,则调用该方法。
六:页面重定向:
调用javax.servlet.http.HttpServletResponse 接口的sendRedirect()方法
七:自动刷新:
Java Servlet 刷新网页的最简单的方式是使用响应对象的方法 setIntHeader()。以下是这种方法的定义:
public void setIntHeader(String header, int headerValue)
八:session跟踪
1.cookies
2.URL重写
3.隐藏的表单字段
九、删除 Session 会话数据
当您完成了一个用户的 session 会话数据,您有以下几种选择:
- 移除一个特定的属性:您可以调用 public void removeAttribute(String name) 方法来删除与特定的键相关联的值。
- 删除整个 session 会话:您可以调用 public void invalidate() 方法来丢弃整个 session 会话。
- 设置 session 会话过期时间:您可以调用 public void setMaxInactiveInterval(int interval) 方法来单独设置 session 会话超时。
- 注销用户:如果使用的是支持 servlet 2.4 的服务器,您可以调用 logout 来注销 Web 服务器的客户端,并把属于所有用户的所有 session 会话设置为无效。
- web.xml 配置:如果您使用的是 Tomcat,除了上述方法,您还可以在 web.xml 文件中配置 session 会话超时,如下所示:
<session-config>
<session-timeout>15</session-timeout>
</session-config>
上面实例中的超时时间是以分钟为单位,将覆盖 Tomcat 中默认的 30 分钟超时时间。
在一个 Servlet 中的 getMaxInactiveInterval() 方法会返回 session 会话的超时时间,以秒为单位。所以,如果在 web.xml 中配置 session 会话超时时间为 15 分钟,那么 getMaxInactiveInterval() 会返回 900。
servlet基础概念的更多相关文章
- JAVAEE_Servlet_01_Servlet基础概念
Servlet 基础概念 Java Servlet 是运行在 Web 服务器或应用服务器上的程序,它是作为来自 Web 浏览器或其他 HTTP 客户端的请求和 HTTP 服务器上的数据库或应用程序之间 ...
- JavaBean 基础概念、使用实例及代码分析
JavaBean 基础概念.使用实例及代码分析 JavaBean的概念 JavaBean是一种可重复使用的.且跨平台的软件组件. JavaBean可分为两种:一种是有用户界面的(有UI的):另一种是没 ...
- servlet基础讲解
基本知识一.Web结构1.两种应用程序 ①桌面应用程序:QQ.CS.MyEclipse.Office.DW.360.浏览器等必须下载.安装.桌面快捷方式.注册表信息.操作系统后台服务.占用操作系统端口 ...
- Java面试题精选(一)基础概念和面向对象
-- 基础概念和面向对象 -- 全程将为大家剖析几大部分内容,由于学习经验有限,望大家谅解并接受宝贵的意见: 基础概念部分 ★★ : 常出现的高频率单词的区别理解(异常. ...
- Servlet基础知识
基本知识一.Web结构1.两种应用程序 ①桌面应用程序:QQ.CS.MyEclipse.Office.DW.360.浏览器等必须下载.安装.桌面快捷方式.注册表信息.操作系统后台服务.占用操作系统端口 ...
- JavaWeb开发技术基础概念回顾篇
JavaWeb开发技术基础概念回顾篇 第一章 动态网页开发技术概述 1.JSP技术:JSP是Java Server Page的缩写,指的是基于Java服务器端动态网页. 2.JSP的运行原理:当用户第 ...
- ELK&ElasticSearch5.1基础概念及配置文件详解【转】
1. 配置文件 elasticsearch/elasticsearch.yml 主配置文件 elasticsearch/jvm.options jvm参数配置文件 elasticsearch/log4 ...
- Servlet基础(一)
JavaEE:企业级开发技术 <一.基础概念>j2ee:jdk1.1--1.4 ----->> j2ee1.1 1.2 javaee:jdk--5,6,7 ...
- JavaWeb零基础入门-01 基础概念说明
一.序言 从学校出来到实习,发现学校学的东西太过基础,难于直接运用于工作中.而且工作中,现在都以web开发为主,学校开了web开发相关课程.自己学的不够深入,所以本人自学JavaWeb开发,介于学习巩 ...
随机推荐
- 简易SQL语句
/*创建 模式 为用户 User1*/ CREATE SCHEMA test authorization User1; CREATE SCHEMA test USER User1; CREATE TA ...
- redis---01
redis是什么: redis是开源,BSD许可,高级的key-value存储系统. 可以用来存储字符串,哈希结构,链表,集合,因此,常用来提供数据结构服务. redis和memcached相比,的独 ...
- 使用delphi 开发多层应用(十六)使用XMLRPC 实现basic4android 远程调用RTC服务(讲述了RTC的特点,其底层通讯协议是自己封装SOCK 库,与kbmmw 的适合场合不完全一样)
RealThinClient (以下简称RTC) 也是一款delphi 多层开发的框架,由于其底层通讯协议是自己封装SOCK 库,抛弃了 大家诟病的indy,因此表现的非常稳定,效率也非常高, ...
- Redis实现中间件(订阅)
什么是消息中间件 发布订阅 点对点 消息中间件本身是异步的通讯 案例:使用redis实现发布订阅功能 Redis发布订阅 Redis 发布订阅(pub/sub)是一种消息通信模式:发送者(pub) ...
- css盒子模型详解一
什么是CSS的盒子模式呢?为什么叫它是盒子?先说说我们在网页设计中常听的属性名:内容(content).填充(padding).边框(border).边界(margin), CSS盒子模式都具备这些属 ...
- html5--6-14 CSS3中的颜色表示方式
html5--6-14 CSS3中的颜色表示方式 实例 每个参数 (red.green 以及 blue) 定义颜色的强度,可以是介于 0 与 255 之间的整数,或者是百分比值(从 0% 到 100% ...
- windwo访问linux文件夹方法
windwo访问linux文件夹:是通过linux的samba来实现的: 安装samba需要安装samba-client.samba-common.smaba3个包. 一:安装rpm 现有一个服务器l ...
- WAS:节点不同步问题
刀片服务器硬盘坏了,换了硬盘后,通过dmgr无法重启该节点上的server. 单机./starServer 后,服务虽然启动了,但后台一直提示如下: [-- ::: CST] RoleViewLead ...
- zoj 3204 Connect them(最小生成树)
题意:裸最小生成树,主要是要按照字典序. 思路:模板 prim: #include<iostream> #include<stdio.h> #include<string ...
- You can't specify target table 'xxx' for update in FROM clause
1.执行sql语句报上面的错误: DELETE FROM db_student WHERE RowGuid IN ( SELECT RowGuid FROM db_student WHERE age ...