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. jmeter之jtl文件解析(生成测试报告)

    我们知道命令行的方式执行完成jmeter后,会生成jtl文件,里面打开后就是一行行的测试结果, <httpSample t="1" lt="1" ts=& ...

  2. Maven web项目(简单的表单提交) 搭建(eclipse)

    我们将会搭建一个,基于Maven管理的,具有简单的表单提交功能的web项目,使用DAO--service--WEB三层结构,服务器使用Tomcat 1 项目基本结构的搭建 左上角File---> ...

  3. js 的常用方法和对象

    每日分享: 加油!你一定可以!你是最牛逼的!!!-------------------------------------------------------------------------- - ...

  4. Windbg双机调试环境配置(Windows7/Windows XP+VirtualBox/VMware+WDK7600)

    简介:Windbg双机调试内核.驱动 下载软件: 下载Windbg(GRMWDK_EN_7600_1.ISO) 下载VirtualBox 5.2/VMware 12 一.安装WDK,这里要提一点的是D ...

  5. 使用 json_serializable (flutter packages pub run build_runner build) 问题

    命令: flutter packages pub run build_runner build 使用 build_runner 生成 .g.dart 文件 flutter packages pub r ...

  6. 深刻理解Python中的元类(metaclass)(转)

    转载地址:http://blog.jobbole.com/21351/ 另外有几点理解记录下: 创建一个实例时,有时会传入参数,这些参数会同时传入 __init__() 和 __new__(),如: ...

  7. vue-router学习

    JS push goTo(){ , postId: ' }}) } router.js // 动态路径参数 以冒号开头 { path: '/user/:id', component: User } { ...

  8. J15W-J45W全铜截止阀厂家,J15W-J45W全铜截止阀价格 - 专题栏目 - 无极资讯网

    无极资讯网 首页 最新资讯 最新图集 最新标签   搜索 J15W-J45W全铜截止阀 无极资讯网精心为您挑选了(J15W-J45W全铜截止阀)信息,其中包含了(J15W-J45W全铜截止阀)厂家,( ...

  9. 生成随机32位Token43位asekey

    // 生成随机32位Token字符和43位AseKey var arr = ['0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'a', 'b', ' ...

  10. lucene原理

    lucene查找原理: https://yq.aliyun.com/articles/581877