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)最好的方 ...
随机推荐
- 利用Thinkphp 5缓存漏洞实现前台Getshell
0×00 背景 网站为了实现加速访问,会将用户访问过的页面存入缓存来减小数据库查询的开销.而Thinkphp5框架的缓存漏洞使得在缓存中注入代码成为可能.(漏洞详情见参考资料) 本文将会详细讲解: 1 ...
- 转: 基于netty+ protobuf +spring + hibernate + jgroups开发的游戏服务端
from: http://ybak.iteye.com/blog/1853335 基于netty+ protobuf +spring + hibernate + jgroups开发的游戏服务端 游戏服 ...
- 实现Activity的滑动返回效果
介绍 在知乎client上看到了这样的效果.左滑Activity能够返回到上一界面.非常适合单手操作. 找了非常久,最终在github上看到了SwipeBackLayout这个开源项目.地址: htt ...
- react 自定义 百度地图(BMap)组件
1.html 页面引入 相关js public/index.html <!DOCTYPE html> <html lang="en"> <head&g ...
- 赵雅智_Android案例_刮刮乐
实现效果 主要代码 <FrameLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns ...
- ffmpeg 内存池
ffmpeg 部分内存管理采用 了内存池技术.基本的接口在libavutil目录下的buffer.c文件中实现: 1. av_buffer_pool_init 初始化 内存池 2 av_buffer_ ...
- hdoj 5094 Maze 【BFS + 状态压缩】 【好多坑】
Maze Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 100000/100000 K (Java/Others) Total Sub ...
- Android.mk: recipe commences before first target. Stop.
[GUIDE] Setup Android Development Environment on Ubuntu 14.04 Trusty Tahr Hi All, This originally wa ...
- Spring Boot外部化配置实战解析
一.流程分析 1.1 入口程序 在 SpringApplication#run(String... args) 方法中,外部化配置关键流程分为以下四步 public ConfigurableAppli ...
- C#实现网段扫描
目录1.使用的类2.获取本地主机IP地址3.远程查询4.实现网段的扫描 ---------------------------------------------------------------- ...