jsp和servlet的一些基础知识整理,用于备忘。

一、jsp与servlet的基本关系
1、jsp-->web容器-->servlet-->加载进容器的虚拟机执行-->输出执行结果给浏览器端
  在这个过程,所有位于<%%>之外的值,都被认为是out.println()中的内容进行直接输出。详细理解看代码
<html>
<%
//例子说明:servlet和jsp的关系
boolean b = false;
if(b){
%>
这里是内容一
<%
}else{
%>
这里是内容二
<%
}
%> <body>
jsp_servlet. <br>
</body>
</html>

  上面的代码和下面的代码一个意思

<html>
<%
//例子说明:servlet和jsp的关系
boolean b = false;
if(b){
out.println("这里是内容一");
}else{
out.println("这里是内容二");
}
%>
<body>
This is my JSP page. <br>
</body>
</html>

<%%>标签外的一切字符,jsp的web容器不会特殊处理,只是单纯地放进输出流out(printWriter)中输出给浏览器

标签中的内容,是java代码,web容器处理完后,返回结果给浏览器

标签外和标签内的所有字符经过web容器处理后,得出一个html文件,这是浏览器所接收到的最终文件

2、执行说明

  顺序:浏览器请求-->jsp文件-->web服务器-->解析jsp为java文件-->容器j的re检查java文件是否有编译错误-->编译java文件,得到.class文件-->jvm加载执行-->响应浏览器

  web容器解析jsp时,一般先检查是否已经存在了最新(表明jsp文件并没有被改变)编译的文件某某servet.class,如果是,则不重新编译jsp文件,否则重新编译jsp文件。

二、处理数据(处理表单数据以及url传参数据)的总结

  1、通常,我们用getParameter(参数名字):获取对应的form(url)中某个name属性值。当多个属性值一样时,只能获取第一个属性值。

  2、getParameterValues(参数名字):获取所有form或者url的name属性值,返回一个数组。当多个属性值的name一样时,可用该方法。这个方法可用来处理多选框和复选框的数据。

  3、getParameterName:获取参数名字,返回对应的枚举,通过类似迭代器的方式遍历枚举便可得到每个参数名字的的对应字符类型。

三、javascript中获取(获取用词可能不太正确)jsp数据

  1、javascript(这里指的是客户端的js脚本,下面简称脚本),jsp,java三者的关系:

    首先,三者的顺序:jsp-->转变为java代码-->web容器将之变为html代码-->浏览器-->某个时间触发,运行脚本。

    显然,js脚本是在jsp代码(java)代码执行完(而且两者执行的地方不同,脚本在浏览器执行,jsp,java代码在web服务器的web容器中执行)后执行,所以,理论上说,jsp的参数不可能传给脚本,因为两者执行地方就不同。

    所以,要达到类似的效果,只能在jsp中混写js脚本代码。当然,更推荐的方法是,将参数放在某个隐藏表单区域,再通过js的dom方法获取对应的参数值。

  2、通常,以前判断表单是否提交的笨方法是:getParameter(表单参数名),获得结果是null,表明无对应表单提交。现在,可用一下方法代替:getMethod.equals("post" or "get"),返回布尔值,判断是否提交了表单。

以上是复习一的归纳内容,如有不妥地方,欢迎指正。

jsp servlet基础复习 Part1的更多相关文章

  1. jsp servlet基础复习 Part2--GET,Post请求

    最近进行servlet和jsp方面的梳理复习时,发现以前忽略了一个非常重要的知识点:get和post的请求(如果你觉得两者仅仅是提交数据量的大小以及方式不同就大错特错了)的正真区别,下面进行简答的整理 ...

  2. JSP/Servlet基础语法

    相关学习资料 http://my.oschina.net/chape/blog/170247 http://docs.oracle.com/cd/E13222_01/wls/docs81/webapp ...

  3. JSP SERVLET 基础知识

    jsp(java server page)和servlet是JAVA EE规范的两个基本成员,是JAVA WEB开发的重点也是基础知识.JSP本质上也需要编译成SERVLET运行. JSP比较简单,可 ...

  4. JSP/Servlet基础

    动态网页的技术 html+css javascript(弱语言) jquery(改造) jsp(java的html) servlet(核心) S2SH:structs2 (springmvc) spr ...

  5. 一、jsp和Servlet基础理论及jstl和EL表达式用法

    1.题外话:使用JSP有近一年半的时间了,但是开发量不大.昨天部门突然让做个读取EXCLE文件,然后在前台页面进行展示.并通过点击查看按钮可以对每条明细记录进行跳转后进行详情查看,并按照页面原型进行页 ...

  6. JSP数据交互(二)和Servlet基础

    01.Application原理与应用 01.application对象的作用域范围是整个应用服务,而它在应用中所承担的责任就类似于一个全局变量.只要服务启动,则application对象就会存在. ...

  7. JSP Web第四章整理复习 JSP技术基础

    P104 JSP简介 (1)基本概念:jsp技术.jsp.jsp网页组成 JSP技术基础java servlet和整个java体系的Web服务器端开发技术. JSP表示它是用java写的Web服务页面 ...

  8. 基于jsp+servlet图书管理系统之后台万能模板

    前奏: 刚开始接触博客园写博客,就是写写平时学的基础知识,慢慢发现大神写的博客思路很清晰,知识很丰富,非常又价值,反思自己写的,顿时感觉非常low,有相当长一段时间没有分享自己的知识.于是静下心来钻研 ...

  9. 基于jsp+servlet图书管理系统之后台用户信息插入操作

    前奏: 刚开始接触博客园写博客,就是写写平时学的基础知识,慢慢发现大神写的博客思路很清晰,知识很丰富,非常又价值,反思自己写的,顿时感觉非常low,有相当长一段时间没有分享自己的知识.于是静下心来钻研 ...

随机推荐

  1. Servlet实现禁用cookie重写URL获取session

    前言 一个女人让他的程序员丈夫去商店买东西:你去附近的商店买些鸡蛋,如果有香蕉的话,买8个回来,这个丈夫买了8个鸡蛋回来,他的妻子大吃一惊:你为什么买了8个鸡蛋?! 程序员丈夫回答:因为他们有香蕉. ...

  2. 初探 模拟退火算法 POJ2420 HDU1109

    模拟退火算法来源于固体退火原理,更多的化学物理公式等等这里不再废话,我们直接这么来看 模拟退火算法简而言之就是一种暴力搜索算法,用来在一定概率下查找全局最优解 找的过程和固体退火原理有所联系,一般来讲 ...

  3. To 高一

    Linux 坑待填 Special Judge 什么是 Special Judge?有的题目会让你输出任意一个解即可AC,或者是让你输出部分答案能取得本测试点部分得分,或者是按照方案的优秀程度给你分, ...

  4. 【UVA10816】Travel in Desert (最小瓶颈路+最短路)

    UVA10816 Travel in Desert 题目大意 沙漠中有一些道路,每个道路有一个温度和距离,要求s,t两点间的一条路径,满足温度最大值最小,并且长度最短 输入格式 输入包含多组数据. 每 ...

  5. asp 程序 转 php

    常年做web的,工作需要,可能有的时候需要将asp代码批量转换成php,最近发现一个小东西很不错,虽不能100%转换(毕竟是程序),但是大大提高了工作效率 Asp2Php是一个可以将ASP转化成PHP ...

  6. Java学习笔记01

    1.原型设计: 将页面的模块.元素.人机交互的形式,利用线框描述的方法,将产品脱离皮肤状态下更加具体跟生动的进行表达. 2.下面的是使用PowerDesigner进行设计的持久层的层次结构图: 虚线三 ...

  7. 达人篇:2.1)APQP产品质量先期策划

    本章目的:介绍APQP的概念,明确APQP各个阶段提交的内容.理解APQP是帮助而不是负担. APQP概念: 产品质量先期策划(Advanced Product Quality Planning,简称 ...

  8. 为什么要选择RabbitMQ ,RabbitMQ简介,各种MQ选型对比

    原文:https://www.sojson.com/blog/48.html 前言: MQ 是什么?队列是什么,MQ 我们可以理解为消息队列,队列我们可以理解为管道.以管道的方式做消息传递. 场景: ...

  9. 论文阅读 | FoveaBox: Beyond Anchor-based Object Detector

    论文阅读——FoveaBox: Beyond Anchor-based Object Detector 概述 这是一篇ArXiv 2019的文章,作者提出了一种新的anchor-free的目标检测框架 ...

  10. django Form数据读取问题

    1.在我学习django的过程中,我学习到了一个关于表单验证的问题 2.我们从前端post一个表单,通过urls配置,传给对应的view方法 3.然后再传给Form验证 4.一开始我是很好奇,在vie ...