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. boost::string 例题1

    如果有一个语法正确的shader源文件,其包括若干关于uniform变量的定义.请写一个程序从某个shader源文件里提取其全部定义的uniform变量.要求记录其名称.数据类型和初始值(如果有定义) ...

  2. linux和windows之间的文件压缩和解压缩以及^R的问题

    推荐大家使用zip压缩和解压,因为zip一般是linux系统自带: 一.zip和unzip 1. zip压缩 zip -r myfile.zip ./web 将当前目录里的web下的所有文件和文件夹全 ...

  3. ghj1222被坑记录[不持续更新]

    考试注意事项:link1 link2 (密码:wangle) 调不出来bug,可以先透彻一会儿或者是上个厕所或者坐一会别的题(间隔至少20min),然后通读代码 -1. 考试先读题,读题之后搞出一个做 ...

  4. 游戏2:HTML5制作网页游戏看看你有多色--createjs

    效果: index.html <!DOCTYPE html> <html lang="en"> <head> <meta charset= ...

  5. NVIDIA Jetson TX2刷机

    官方安装教程 JetPack下载 主机端环境准备 需要在PC端安装虚拟机,虚拟机中安装Ubuntu14.04系统. 按照上面的地址下载JetPack-L4T-3.1-linux-x64.run 主机端 ...

  6. Linux Python import jenkins 报错 oserror: /usr/lib/python2.7/site-packages/lookup3.so

    安装了jenkins和Python-jenkins后,在脚本中import jenkins会报错:oserror: /usr/lib/python2.7/site-packages/lookup3.s ...

  7. Angular material mat-icon 资源参考_Hardware

    ul,li>ol { margin-bottom: 0 } dt { font-weight: 700 } dd { margin: 0 1.5em 1.5em } img { height: ...

  8. redis安全(加入密码)

    一.前言 在使用云服务器时,安装的redis3.0+版本都关闭了protected-mode,因而都遭遇了挖矿病毒的攻击,使得服务器99%的占用率!! 因此我们在使用redis时候,最好更改默认端口, ...

  9. Oracle 创建数据库卡死在85%

    Oracle 创建数据库卡死在85%处理方法 1.首先用改工具,删除数据库 2.对应的目录 3.重启服务器(本次尝试有重启,在有其他数据库在跑的情况下,可以试试不重启)

  10. D-Link DIR-645 信息泄露漏洞

    D-Link DIR-645 getcfg.php 文件由于过滤不严格导致信息泄露漏洞. $SERVICE_COUNT = cut_count($_POST["SERVICES"] ...