前言:如果说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. 【LeetCode】Balanced Binary Tree(平衡二叉树)

    这道题是LeetCode里的第110道题. 题目要求: 给定一个二叉树,判断它是否是高度平衡的二叉树. 本题中,一棵高度平衡二叉树定义为: 一个二叉树每个节点 的左右两个子树的高度差的绝对值不超过1. ...

  2. 2018省赛赛第一次训练题解和ac代码

    第一次就去拉了点思维很神奇的CF题目 2018省赛赛第一次训练 # Origin Title     A CodeForces 607A Chain Reaction     B CodeForces ...

  3. localStorage的用法

    1.在HTML5中,本地存储是一个window的属性,包括localStorage和sessionStorage,前者是一直存在本地的,后者是伴随着session,窗口一旦关闭就消失了.二者用法完全相 ...

  4. [HDU4362] Palindrome subsequence (区间DP)

    题目链接 题目大意 给你几个字符串 (1<len(s)<1000) ,要你求每个字符串的回文序列个数.对于10008取模. Solution 区间DP. 比较典型的例题. 状态定义: 令 ...

  5. P3919 (模板)可持久化数组 (主席树)

    题目链接 Solution 主席树水题,连差分的部分都不需要用到. 直接用主席树的结构去存一下就好了. Code #include<bits/stdc++.h> #define mid ( ...

  6. 微信答题小程序 微信小程序 答题 demo 头脑王者这样的答题小程序开发 答题的微信小程序开发经验 微信答题比赛小程序

    最近随着王思聪的我撒币,我快乐,直播答题非常火.同时知乎的答题小程序头脑王者也非常火爆.大家在微信和微信群里玩的不亦乐乎. 好吧,快乐总是属于你们,我却只能埋头写代码... 公司要求赶紧开发一个这样的 ...

  7. bzoj 4007 树形dp

    题目大意 脸哥最近来到了一个神奇的王国,王国里的公民每个公民有两个下属或者没有下属,这种关系刚好组成一个 n 层的完全二叉树.公民 i 的下属是 2 * i 和 2 * i +1.最下层的公民即叶子节 ...

  8. 洛谷 [P2859] 摊位预定

    贪心 #include <iostream> #include <cstdio> #include <cstring> #include <algorithm ...

  9. inline关键词的使用(转载)

    (一)inline函数(摘自C++ Primer的第三版) 在函数声明或定义中函数返回类型前加上关键字inline即把min()指定为内联. inline int min(int first, int ...

  10. npm 查看模块全部版本

    npm 查看模块全部版本:(jquery) npm view jquery versions 安装指定版本: (jquery) npm install jquery@1.7.2