Java复习10.Servlet编程
Java复习10. Servlet编程知识 20131008
前言:
之前在大三下的时候,学习了一个月的JSP和Servlet知识,但是没有什么项目经验,把JSP Web开发学习实录看了前面几张,后面的框架没有学习。这个期间,我掌握的就是把java代码和html代码杂糅在一起的JSP页面,同时还有就是Servlet的简单的知识,创建Servlet返回响应,这里才明白服务器的大概原理,根据客户端的请求URL类型分发到不同的地方。然后处理,之后在使用response返回信息。还有学习一点关于Java中数据库乱接操作的知识和一些JSTL标签知识,还好自己有这一部分的笔记。
Servlet是一种独立于平台和协议的服务端的Java应用程序,利用它可以生成动态的Web页面。它担当Web浏览器或者其他HTTP客户端请求与HTTP Server上的数据库或者应用程序之间的中间层。Servlet是位于Web服务器内部的服务器端的Java应用程序,与传统的从命令行启动的Java程序有所不同,Servlet是由Web服务器进行加载,该Web服务器必须包含支持Servlet的Java虚拟机,在Web容器内执行。
Java Servlet API定义了一个Servlet和Java标准接口,是的Servlet可以跨服务器平台的特性。
1.简单的了解Servlet机制
当客户端发送请求到Server上的时候,服务器将请、请求的信息转发给servlet容器,并且让Servlet建立起服务器返回给客户机的响应。当启动Web服务器或者是客户端第一次请求服务时, 可以自动装入Servlet。装入后,Servlet继续运行,知道客户端发出其他的请求。
Servlet的功能介绍:
创建并且返回一个包含基于客户端请求性质的动态内容的完整HTML页面;
创建可以其嵌入到现有HTML页面中的一部分HTML页面;
与其他的服务器资源(数据库,Java应用程序)进行通信;
用于多个客户机处理链接,接收多个客户机的输入,并且将结果光波导多个客户机上;
当允许在单链接方式下传送数据的时候,浏览器打开服务器值Applet的新连接,并且将该连接保持在打开状态;
对于特殊的处理采用MIME类型过滤数据,例如图像转换和服务器端包括SSI;
将定制的处理提供给所有服务器的标准例行程序,如Servlet可以修改如何认证用户。
Servlet技术特性:
Servlet是Java对于CGI编程的回答,Servlet程序在服务器端运行,动态的生成Web页面,与传统的CGI和其他类似CGI技术相比,JavaServlet具有更高的效率,容易使用,功能强大,移植性。
高效:每一个请求CGI都要启动一个进程,但是Servlet使用的是一个轻量级的线程;
方便:Servlet提供了大量的使用工具,如自动解析和解码HTML表单数据、读取设置HTTP头,处理cookies信息,跟踪回话Session状态;
功能强大:Servlet于Server直接交互,并且可以共享数据,使用数据库连接池等等
可移植性:ServletAPI 完整的标准规范,前期服务器比较容易;
2.Servlet的声明周期
初始化:Web容器加载并且实例化Servlet实例之后,允许Servlet读取配置资源、初始化资源。
初期请求:对于客户端请求,创建一个请求对象和一个响应对象,服务器调用Servlet的service方法,该方法用于传递请求和响应对象。Service从请求中获取请求信息,并且处理请求,返回响应。
终止:当Server不在需要Servlet的时候或者重新装入Servlet实例的时候,就会调用servlet的destroy
3.
Java复习10.Servlet编程的更多相关文章
- Java复习9网路编程
Java 复习9网路编程 20131008 前言: Java语言在网络通信上面的开发要远远领先于其他编程语言,这是Java开发中最重要的应用,可以基于协议的编程,如Socket,URLConnecti ...
- java攻城师之路--复习java web之servlet
需要掌握的知识点:1.Servlet程序编写 ----- 生命周期2.ServletAPI Request Response 3.Cookie 和 Session Servlet 用来 动态web资源 ...
- Java复习11. 单例编程
Java复习11. 单例编程 1.最简单的写法,那个方式是线程不安全的 public class Singleton { private static Singleton instance; ...
- Servlet编程-步步为营
[环境]eclipse j2ee;Tomcat 7.0; [模型1] package com.zhiqi; import ...; public class TestServlet extends H ...
- java基础78 Servlet的生命周期
1.Servlet的生命周期 简单的解析就是: 创建servlet实例(调用构造器)---->调用init()方法---->调用service()方法----->调用destroy( ...
- Java复习8.多线程
Java复习8 多线程知识 20131007 前言: 在Java中本身就是支持多线程程序的,而不是像C++那样,对于多线程的程序,需要调用操作系统的API 接口去实现多线程的程序,而Java是支持多线 ...
- Java复习7.输入输出流
Java复习7.输入输出流 20131005 前言: Java中涉及数据的读写,都是基于流的,这一块的知识相当重要,而且在Java中的数据,char字符是16bit的,所以存在字节流和字符流的区别.如 ...
- Java复习5.面向对象
Java 复习5面向对象知识 20131004 前言: 前几天整理了C++中的面向对象的知识,学习Java语言,当然最重要的就是面向对象的知识,因为可以说Java是最正宗的面向对象语言,相比C++,更 ...
- Java复习1.基本知识
Java语言概述 20131003 开头语: 开发领域,重要的编程语言基本都是C/C++,然后就是Java, C/C++就不用说了,另外掌握Java对你是有很大的帮助的,而且也会扩宽你的择业范围.同时 ...
随机推荐
- 前端学习笔记之HTML中的id,name,class区别
name 属性用于在 JavaScript 中对元素进行引用,或者在表单提交之后,对表单数据进行引用. html的name和id可以类比身份证的姓名和身份证编号,编号id具有唯一性,一个id只出现一次 ...
- 20135320赵瀚青LINUX第五章读书笔记
第五章--系统调用 5.1 与内核通信 作用 1.为用户空间提供一种硬件的抽象接口 2.保证系统稳定和安全 3.除异常和陷入,是内核唯一的合法入口. API.POSIX和C库 关于Unix接口设计:提 ...
- linux安全第一周总结——20135227黄晓妍
实验部分: 我将源代码做了修改,将其中一个数字修改为我学号27 2.在实验楼环境下将其保存为text.c并将其编译,得到text.s 3.将.开头的多余的语句删去了之后,我得到了32位环境的汇编代码 ...
- ubuntu16.04下安装mysql详细步骤
1.如果要搭建服务器先去购买一个云主机,比如阿里云.京东云.新网等等都有卖.这里推荐使用京东云服务器,因为最近在搞活动.一元可体验两个月(可能现在活动已经过了,但在京东云里有免费领一个月的,学生机也有 ...
- java中把指数形式的数字转为正常形式显示
/** * 当浮点型数据位数超过10位之后,数据变成科学计数法显示.用此方法可以使其正常显示. * @param value * @return Sting */ public static Stri ...
- svn根据项目来创建目录结构或者根据分支来创建项目结构
假设检出项目的时候,都使用trunk来进行检出 按照项目来创建目录结构 TestPrj版本库 适合一次只检出一个项目的需求 这个版本库的名字无所谓,随便起就好了.因为检出某一个项目的trunk的时候, ...
- Elasticsearch之IKAnalyzer的过滤停止词
它在哪里呢? 非常重要! [hadoop@HadoopMaster custom]$ pwd/home/hadoop/app/elasticsearch-2.4.3/plugins/ik/config ...
- DBUS及常用接口介绍
[原文] 1. 概述 1.1 DBUS概述 DBUS是一种高级的进程间通信机制.DBUS支持进程间一对一和多对多的对等通信,在多对多的通讯时,需要后台进程的角色去分转消息,当一个进程发消息 ...
- Codeforces Round #365 (Div. 2) E - Mishka and Divisors(转化成01-背包)
http://codeforces.com/contest/703/problem/E 题意: 给出n个数和一个k,计算出至少要多少个数相乘才是k的倍数. 思路:这道题目参考了杭电大神的代码http: ...
- redis_port.py
!/usr/bin/env python import os import json import simplejson as json t=os.popen("""su ...