前言:如果说html为静态网页基础,那么jsp就是动态网页基础,两者的区别就是jsp在html的前面多加了几行而已。当然,jsp里面对java的支持度更高。要明白,js只是嵌入在客户端的小程序小脚本而已。Jsp里面也有一些脚本语言,这个主要是和后台有联系的,或者各个网页之间有联系的。所以,千万不要弄混。

1、jsp的执行过程

JSP不能直接运行,需要翻译。

Jsp执行过程

  1. 翻译阶段

    Jsp被web容器中的jsp引擎转换为java源码 .java

  2. 编译阶段

    源码被翻译为.class文件,字节码文件。

  3. 执行阶段

    部署服务器的过程其实就是编译的过程,web获取客户端的请求后,web开始执行字节码文件。

如果内容被更改,需要重新部署

系统里面有原来的.class文件,就会执行原来的文件,不会执行这个。

2、jsp的页面组成

  1. 静态内容:html静态文本 保留html部分
  2. 指令 : <%@ 开始 %> 结束 一般可以引入一些java类的包
  3. 表达式 :<%=java表达式%> 一般是java赋值代码
  4. 小脚本 :<%java代码 %> 一般的java代码
  5. 声明 :<%!方法%> 一次声明,多次使用,实现代码共享 语言重用
  6. 标准动作:<jsp:动作名>开始 </jsp:动作名>
  7. 注释 :<!-- --> 客户端可以查看到 <%-- --%> 客户端看不到 供程序员看到 通过 在浏览器中 按 F12查看源码。

3、几个问题汇总

问题:1、jsp(java server page的简称) 与 java 区别?

Jsp是一种网页语言。Jsp = java + JavaScript + html;java 是一个平台,分为三个版本:javaSE,javaEE,javaME。 jsp属于javaEE里面的一种技术,属于动态网页制作。

2、jsp与html?

Jsp是动态网页制作,jsp是在html静态网页的基础上添加jsp脚本使得html静态网页变成动态网页。

3、昨天编的代码不是jsp?

不是,只是简单的JavaScript。脚本语言JavaScript,其可以嵌入到jsp,asp,php等动态网页中去。

4、jsp与js?

不是同一种技术。

5、关于昨天的 ; 问题。 可有可无

6、可否在jsp页面include html页面?

Jsp中嵌入html这个简单,完全兼容其代码。Html转换为jsp只需将html代码全部拷贝到jsp下面,保留下面几句代码即可。这样的话,我们就可以在jsp页面中调用即可。    

<%@
page
language="java"
import="java.util.*"
pageEncoding="utf-8"%>

<%

String path = request.getContextPath();

String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";

%>

我们不能在html页面中嵌入jsp页面,因为jsp页面需要java web服务器解析,比如 tomcat等著名的web服务器。

参考资料:http://zhidao.baidu.com/link?url=7rzDWnIt4c5a3ZIYCKp2CLrx2onPykEXaP4eAylNGrvXuruIwgTuGTthgeqTWHzfNpjhN-zbXdyI3jCrXMX5Fq

JSP全称是:java server page,意思是基于JAVA服务器的网页技术,跟asp,php一样,都是网页制作用的语言
JavaScript:也成为JS,跟JAVA没啥关系,就是赶时髦起个这名字,是一种脚本语言,嵌套在网页中实现各种功能的,比如禁止右键菜单,禁止复制什么的
JSP,ASP,PHP都能嵌套使用JavaScript。

JAVASCRIPT从其名称含义是JAVA脚本,是在浏览器中运行的脚本语言,由于其大部分语法规范取自于JAVA语法规范,所以取名为JAVASCRIPT。JSP是JAVA SERVER PAGE的首字母缩写,顾名思义,是JAVA的服务端页面,其动态语法部分完全是JAVA规范。JAVA的概念这里就不描述了。总结:JSP是JAVA技术的其中之一,所以学好了JAVA过渡到JSP从编程角度来讲比较容易,学好JSP以后要想学好JAVA,就还要学习更多的JAVA方面的东西,比如JAVABEAN,企业级应用等等。JAVASCRIPT严格来讲,除了语法参照了JAVA语法规范外,和JAVA毫无关系,所以两者之间只是语法规范类似,相互之间的过渡就只有语法能够参照,其他的都得分别去了解,JAVASCRIPT是过程式语言,JAVA则是面向对象的

4、jsp页面的新建    

新建

有些编码方式不支持中文, gb2312 utf-8 支持中文

<%@ include file= %>

在哪里插入 jsp页面,他就在哪里出来

5、小问题汇总

表达式 是用来显示 内容的。

路径问题需要引起注意: ./ 当前目录。 ../ 上一级目录 ,搞清楚相对路径与绝对路径    

6、数据传递

页面间如何传递数据:

  1. jsp内置对象

    不需要new直接用,因为内置对象使用频繁。相当于public声明的全局函数。

    Out session request application response

    相当于 Math.xxxx(); 静态方法,已经实现。

    一问一答 请求—响应 request --- response。

    一个session 由多个请求响应构成的。 简称一次会话。

    一次购物的过程 就是 一次会话, 其实这里面有多个 请求响应构成。

  2. jsp里面的作用域

    可以类比C++或C里面的变量的作用域。

    Page:当前页面有效

    Request:一次请求范围内有效。

    客户端跳转:客户单击超链接跳转到另一个页面;通过浏览器地址到另一个页面。Request失效。

    服务器端跳转:request依然有效。

    Session:客户浏览器与服务器一次会话范围内。服务器断开连接即失效。Timeout 也是失效的一种。把浏览器关掉也是失效。通过它,可以搞 用户界面访问控制。

    Application:整个服务器范围内,服务器停止以后才会失效。网站访问量 :xxxxxxxx。这个值就是放在application里面的,当然可以放在数据库里面,当你系统崩溃了,application里面的值就没了。

  3. request对象主要用于客户端请求

    上次搞的 return false; 与 返回 null ,空; 是有区别的。

    设置字符编码;setCharacterEncoding(); //乱码问题

    转发请求,getRequsetDispatcher(); //服务器端的跳转 超链接是客户端的跳转。

4、举例

鼠标点击在超链接上,会有标签出现。这种方式的数据传递是采用get方式,数据不太安全。没有post安全。

当超链接里面有多个参数的时候,我们一般用 & 连接符来增加。

5、表单编程模式

封装到Request对象里面去。 我们叫做form编程。针对一个form里面的对象进行编程。

当我们value为汉字的时候,另一个页面可能会出现乱码,所以,我们写英文就可以解决这个问题。

表单处理编程模式是最常用的方式。

下面是利用表单处理模式来解决用户登录问题的步骤:

  1. 用户输入数据并提交
  2. Jsp进行处理
  3. 返回不同结果

错误1:跳不成功

在上面的代码中,代码有问题。因为在jsp 里面,用 == 不行,必须用方法实现。Equal (); 比较内容,而不是引用。

其中 get 是直接带参数的。一般用于:form表单(感觉不太对) 和 超链接。

Post是超链接不带参数的,比较安全。

http是应用层协议,其底层是tcp实现的。而http的内置对象是基于http的,所以页面之间通过http内置对象传递数据是通过tcp协议来实现的。

Post 模式:

这个里面包名,必须定位到底层,这个和在src后台里面写包名不一样。

JSP技术基础(动态网页基础)的更多相关文章

  1. JSP/Servlet开发——第一章 动态网页基础

    1.动态网页:在服务端运行的使用程序语言设计的交互网页 : ●动态网站并不是指具有动画功能的网站,而是指网站内容可根据不同情况动态变更的网站(股票网站),一般情况下动态网站通过数据库进行架构. ●动态 ...

  2. JavaEE-01 JSP动态网页基础

    学习要点 B/S架构的基本概念 Web项目的创建和运行 JSP页面元素 MyEclipse创建和运行Web项目 Web程序调试 Web简史 web前端技术演进三阶段 WEB 1.0:信息广播. WEB ...

  3. jsp第一章 动态网页开发基础

    动态网站可以实现交互功能,如用户注册.信息发布.产品展示.订单管理等等: 动态网页并不是独立存在于服务器的网页文件,而是浏览器发出请求时才反馈网页: 动态网页中包含有服务器端脚本,所以页面文件名常以a ...

  4. JSP第一章动态网页的基础

    什么是动态网站(dynamic website)? 动态网站: 误区:初学者一般认为动态网页,就是会动的网页,但实际上不是这样的. 动态网页是指在服务器端运行的,使用程序语言设计的交互式网页,它们会根 ...

  5. 《The Django Book》实战--第二章--动态网页基础

    这章演示了一些最基本的Django开发动态网页的实例,由于版本不一样,我用的是Django 1.,6.3,有些地方按书上的做是不行的,所以又改了一些,写出来让大家参考. 这是一个用python写的一个 ...

  6. 第三章 Django之动态网页基础(1)

    前一章中,我们解释了如何建立一个 Django 项目并启动 Django 开发服务器.当然,那个网站实际并没有干什么有用的事情,它所做的只是显示 It worked!消息.让我们来做些改变.本章将介绍 ...

  7. 动态网页基础——JSP

    WEB项目的目录结构 META-INT  WEB-INF 对外都是不可访问的,不可把index.jsp/index.html 放这 JSP JSP是为了简化Servlet的工作出现的替代品,Servl ...

  8. 使用JSP/Servalet技术开发新闻发布系统------动态网页开发基础

    什么是动态网页? 动态网页是指在服务器端运行的程序或者网页,它们会随不同客户.不同时间,返回不同的网页. 动态网页的特点? (1).交互性:即网页会根据用户的要求和选择而动态改变和响应.采用动态网页技 ...

  9. 第一章使用JSP/Server技术开发新闻发布系统第一章动态网页开发基础

      一:为什么需要动态网页    由于静态网页的内容是固定的,不能提供个性化和定制化得服务,使用动态网页可真正地与用户实现互动. 二:什么是动态网页  ①:动态网页是指在服务器端运行的,使用程序语言设 ...

随机推荐

  1. 【SDOJ 3741】 【poj2528】 Mayor's posters

    Description The citizens of Bytetown, AB, could not stand that the candidates in the mayoral electio ...

  2. Farey sequences

    n阶的法里数列是0和1之间最简分数的数列,由小至大排列,每个分数的分母不大于n. Stern-Brocot树(SB Tree)可以生成这个序列 {0/1,1/1} {0/1,1/2,1/1} {0/1 ...

  3. Linux删除非空目录的方法

    rmdir 无法删除非空目录. rm -rf 可以递归,强制,删除目录

  4. HDU——2723Electronic Document Security(STL map嵌套set做法)

    Electronic Document Security Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K ( ...

  5. iOS-多线程(2)

    多线程之NSOperation: 多线程的优点: 使用线程可以把占据时间长的程序中的任务呀放到后台去处理 用户界面可以更加吸引人,这样比如用户点击了一个按钮去触发某些事件的处理,可以弹出一个进度条来显 ...

  6. phpMyAdmin操作之改管理员密码

    1.登录phpMyAdmin 默认地址:http://localhost/phpmyadmin 2.点击用户按钮 3.往下拉找到修改密码 点执行就修改了 注意: 如果再次登录时报错提示: #1045 ...

  7. Django标签之包含标签Inclusion tags

    Django过滤器和标签功能很强大,而且支持自定义标签,很是方便:其中一种标签是Inclusion tags,即包含标签,个人感觉比较反人类的 包含标签(Inclusion tags)通过渲染其他的模 ...

  8. hdu 6108 小C的倍数问题

    小C的倍数问题 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total Sub ...

  9. 洛谷P1469找筷子

    题目描述 经过一段时间的紧张筹备,电脑小组的“RP餐厅”终于开业了,这天,经理LXC接到了一个定餐大单,可把大家乐坏了!员工们齐心协力按要求准备好了套餐正准备派送时,突然碰到一个棘手的问题,筷子!CX ...

  10. 学习在requirejs下如何使用underscore.js模板

    近期在学习underscore.js 这个小而美的js库,是前端 MVC 框架backbone依赖库,他的模板方法主要应用场景是ajax交互过程到页面需要大量的字符串拼接,这部分如果一旦不够仔细就很容 ...