servlet与jsp理论知识讲解
servlet是java服务器端编程,是运行在服务器上的。不同于以前的java小程序。
图一 图二
图一可以看出:服务器与servlet打交道,浏览器不与servlet打交道
图二(服务器端内部流程): 用户发送一个请求,请求访问test1.jsp,然后利用jsp parser(jsp解析器)转换为java文件(服务器端进行转化),这个java文件就是servlet,然后通过servlet解析器将对应的java文件编译出对应的class文件。
当jsp是第一次被访问时,servlet解析器需要将对应的java文件解析成class文件按,若不是,则直接响应。(所以,我们当我们第一次访问jsp页面的时,访问的速度有些慢)
表单中action="/login" 指的是相对路径
action="login"指的是绝对路径
jsp都会转化成servlet去执行
jsp
jsp语法,包括三类:
1.编译器指令:如<%@ page.....%> ,<%@ taglib....%>,<%@ include....%>
2.脚本语言 如注释<!-- --> <%-- --%>
3.动作语言: <jsp:forword> <jsp:....>
<%! int a = 3; %> jsp的声明
<% int b = 3 ; %> jsp的脚本段这两个的区别
在每次刷新页面的时,a--,b不变。本质原因servlet是单例模式的,jsp生成的servlet使用final修饰的
总结:jsp声明的格式为:<%! a = 3; %> 脚本段的形式:<% b = 3; %>,当服务器将jsp转换为servlet时,会将jsp中的声明部分转化为类的成员变量,而将脚本语言转化成方法中的局部变量,servlet是单例模式的,这样成员变量的值就一个,每个用户都会访问到它,而脚本语言的值是局部变量,每个用户访问的时候,各有一份,互不影响。
转义字符: \" 双引号 \' 单引号 \\反斜杠
\n 换行 \t 制表符 \b 退格
jsp的九大内置对象
1.request 请求对象, 对象代表的是来自客户端的请求,返回一个枚举对象
2.response
3.session 回话对象
4.pageContext 页面上下文
5.application 应用程序对象
6.out 输出对象
7.config 配置对象
8.page 页面对象
9.exception 异常对象
request的getparameter方法的作用是获取客户端通过URL或表单形式请求过来的参数值。是客户端与服务器端的交互,服务器端要想获取到客户端发送过来的数据,就需要使用getParameter方法来获取。
session对象:session对象代表服务器与客户端所建立的会话。HTTP是基于请求响应模式的无状态的协议,且web server对每个客户端的请求都没有历史记忆。当需要在不同的jsp页面中保留客户信息的情况下,使用session。session是用来保存客户端状态信息的。session对象在会话过程中只有一个。
session常用到的方法有:getAttribute和setAttribute,这两个方法在request和application中都有,并且用法相同
只是,只是,request只能单页面请求,响应,因为request中的这两个方法都是在服务器端执行的,客户端不知道服务器端是否执行过这两个方法。
然而在application中,application是基于应用程序对象,它的生命周期是整个应用程序,也就是服务器启动开始到服务器关闭结束。所以它用它存储的内容数据,会一直存在,知道服务器关闭才销毁。
因为博客中不允许打包实例,所以将实例发表到csdn上面,名字叫:我笨行了吧的账号上面
servlet与jsp理论知识讲解的更多相关文章
- Servlet和JSP知识总结
1.Servlet接口有哪些方法及Servlet生命周期 Servlet接口定义了5个方法,前三个方法与Servlet生命周期有关: void init() void service() void d ...
- 你也可以当面霸-Servlet与JSP的原理及特点
既然是面试系列,就是面试官和应聘者之间的对话.本文是采用一问一答的形式呈现给读者的,这样能有一个明确的考察点,不像理论知识那么枯燥. 01.什么是Servlet技术 Servlet是和平台无关的服务器 ...
- 用VC进行COM编程所必须掌握的理论知识
一.为什么要用COM 软件工程发展到今天,从一开始的结构化编程,到面向对象编程,再到现在的COM编程,目标只有一个,就是希望软件能象积方块一样是累起来的,是组装起来的,而不是一点点编出来的.结构化编程 ...
- Servlet过滤器和监听器知识总结(转)
Servlet过滤器和监听器知识总结(转) Servlet过滤器是 Servlet 程序的一种特殊用法,主要用来完成一些通用的操作,如编码的过滤.判断用户的登录状态.过滤器使得Servlet开发者能 ...
- hibernate 结合servlet及 jsp 的使用
Hibernate结合JSP使用 前面几章详细的介绍了Hibernate的相关知识,这一章介绍Hibernate结合JSP和Servlet的使用,通过这一章的学习,可以加深对Hibernate的理解. ...
- JAVAWeb入门之JSP基础知识
也是到了考试周,很多课都结了,准备去学点新东西.随后就开始自学JAVAWeb. 要学习JAVAWeb,首先需下面的知识: a) HTML/CSS/JS(前端页面),XML,JSON,vue ...
- 小D课堂 - 新版本微服务springcloud+Docker教程_3-02CAP理论知识
笔记 2.分布式应用知识CAP理论知识 简介:讲解分布式核心知识CAP理论 CAP定理: 指的是在一个分布式系统中,Consistency(一致性). Availabi ...
- ElasticSearch实战系列四: ElasticSearch理论知识介绍
前言 在前几篇关于ElasticSearch的文章中,简单的讲了下有关ElasticSearch的一些使用,这篇文章讲一下有关 ElasticSearch的一些理论知识以及自己的一些见解. 虽然本人是 ...
- 掌握AI学习路上核心理论知识,你绝对不能错过这份最全资料包
人工智能成为当下科技发展的代表之一,持续受到了不少追捧,不管你是否是这一专业的学生或者职场人,学习并掌握一项新潮技能总是不会被同龄人淘汰的.我曾经问过别人.也被别人问过关于学习人工智能(AI)最好的方 ...
随机推荐
- go语言:函数参数传递详解
参数传递是指在程序的传递过程中,实际参数就会将参数值传递给相应的形式参数,然后在函数中实现对数据处理和返回的过程.比较常见的参数传递有:值传递,按地址传递参数或者按数组传递参数. 1.常规传递 使用普 ...
- 数字类型(NSInteger,NSUInteger,NSNumber)
在Objective-C中,我们可以使用c中的数字数据类型,int.float.long等.它们都是基本数据类型,而不是对象.也就是说,不能够向它们发送消息.然后,有些时候需要将这些值作为对象使用. ...
- CSS 发明者 Håkon Wium Lie 访谈--csdn zhangxin09
原文地址:https://dev.opera.com/articles/css-twenty-years-hakon/ ---------------------------------------- ...
- standford情感分析代码开源地址
http://nlp.stanford.edu/sentiment/code.html
- urllib(最基本的)库的应用
Urllib库 python内置的http请求库 1.urllib.request 请求模块 2.urllib.error 异常处理模块(try,catch) 3.urllib.parse url解析 ...
- Linux Setuid(SUID)和Setgid(SGID) sticky bit
http://www.php100.com/html/webkaifa/Linux/2010/0812/6392.html 1.setuid和setgid的解说 setuid和setgid位是让普通用 ...
- 使用openssl 生成RSA pem格式的公钥私钥
1.生存私钥 openssl genrsa -des3 -out private_key.pem 1024 2.生成公钥 openssl rsa -in private_key.pem -pubout ...
- Html5的placeholder属性(IE兼容)
HTML5对Web Form做了很多增强,比方input新增的type类型.Form Validation等. Placeholder是HTML5新增的还有一个属性,当input或者textarea设 ...
- 搭建React Native开发环境
搭建React Native开发环境 本文档是Mac下搭建的环境,针对的目标平台不同,以及开发 iOS 和 Android 的不同,环境搭建也有差异. Github地址:https://github. ...
- shift:解决shell编程中的入渗问题
我说过了,shell是我的常规武器,目前虽然还不纯熟,但是我爱shell这门语言,在Linux下面混,总要写脚本.程序员是有基因,对编程语言是有偏好的,你让我写C代码,我会觉得很爽,会有困难,会有痛苦 ...