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. shell+crontab 实时服务进程监控重启

    #!/bin/sh #filename: checkProcess.sh #示例:每分钟检测httpd是否在运行,不在运行则重启 #crontab -e # 加入:*/ * * * * checkPr ...

  2. windows server2008 r2安装DNS服务器

    1.开始->管理工具->服务器管理器 2.角色->添加角色 3.服务器角色->DNS服务器 4.一直点击下一步,直至安装完成. (确认步骤时会提示,可能会需要重启服务器) 安装 ...

  3. form在模版中的渲 染方式

    链接:https://www.jianshu.com/p/46b2aa2d5a23 form.as_p 渲染表单为一系列的p标签,每个p标签包含一个字段: <p> <label fo ...

  4. [ActionScript 3.0] AS3 绘制任意三角形任意顶点到对边的高

    注:顶点坐标可以点击 package { import flash.display.Shape; import flash.display.Sprite; import flash.events.Mo ...

  5. ios 字符串处理:截取字符串、匹配字符串、分隔字符串

    1.截取字符串 NSString*string =@"sdfsfsfsAdfsdf";string = [string substringToIndex:7];//截取掉下标7之后 ...

  6. Linux Shell 自动化之让文本飞

    Linux Shell 自动化之让文本飞 一.前言: ​ 作者之前在一家 IDC 从事运维兼职工作,后来因某些原因辞职开始 Python 爬虫数据分析.因为这些经历以及后续时间积累下的经验,发现好像自 ...

  7. jmeter压力测试值之配置JDBC Connection Configuration(一)

    一.下载mysql jar包 下载mysql jar包 http://dev.mysql.com/downloads/connector/j/ 网盘下载地址:mysql-connector-java- ...

  8. animal与@keyframe

    .test1 { width: 90px; height: 60px; -webkit-animation-name: skyset; -webkit-animation-duration: 2000 ...

  9. P3879 [TJOI2010]阅读理解 题解

    P3879 [TJOI2010]阅读理解 题解 题目描述 英语老师留了N篇阅读理解作业,但是每篇英文短文都有很多生词需要查字典,为了节约时间,现在要做个统计,算一算某些生词都在哪几篇短文中出现过. 输 ...

  10. image_size must contain 3 elements[4]

    今天在制作自己训练集合并且训练的时候,碰见了如下的错: image_size must contain 3 elements[4] 这是因为训练的数据集中不是所有的图片位深都是三通道的. 写一个脚本查 ...