1. Web的三个核心标准

万维网的核心标准有三个,分别是URL、HTTP和HTML。

URL(统一资源定位符,Universal Resource Locator),为描述Internet上的网页以及其他资源地址提供了一种标识方法。本URL包含模式(或称协议)、服务器名称(或IP地址)、路径和文件名。

绝对URL(absolute URL)显示文件的完整路径,这意味着绝对URL本身所在的位置与被引用的实际文件的位置无关;相对URL(relative URL)以包含URL本身的文件夹的位置为参考点,描述目标文件夹的位置。

使用Windows系统的主机不区分URL的大小写,而使用Unix或Linux系统的主机则区分大小写。

更多内容参考百度百科。

HTTP(超文本传输协议,HTTP-Hypertext transfer protocol), 是一种详细规定了浏览器和万维网服务器之间互相通信的规则,通过因特网传送万维网文档的数据传送协议。

更多内容参考百度百科,或者参考:HTTP协议概述

HTML(超文本标记语言,Hyper Markup language),“超文本”就是指页面内可以包含图片、链接,甚至音乐、程序等非文字元素。超文本标记语言的结构包括部分(Head)、和主体部分(Body),其中头部(head)提供关于网页的信息,主体(body)部分提供网页的具体内容。

更多内容参考百度百科,参考阅读:HTML常用标签(整理)HTML常用模板:用DIV实现网站首页、后台管理首页(整理)

2. C/S结构与B/S结构区别

局域网/广域网;重用性差/好;维护升级困难/简单;表现方式有限/丰富等等。

3. JSP及其相关技术

3.1 jspInit()/jspDestory()方法

可以在此方法中进行一些初始化工作;同样的jspDestory()方法供销毁时调用。

3.2 JSP注释

JSP注释以<%--开始,以--%>结束,中间包含的内容即为注释部分。示范:

<%--JSP注释内容--%>

由于在JSP标签<%%>中包含的是符合Java语法规则的Java代码,所以其中可以出现Java形式的注释。示范:

<%
// 业务代码开始
...... /**
* 登录成功后显示的列表处理
*/
......
%>

这样,就有三种方式为JSP注释。

3.3 JSP指令

page指令

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

include指令

注意:如果被插入的文件发生了变化,则包含这个文件的JSP文件需要被重新编译。就是:a.jsp引用了b.jsp,如果b.jsp发生了改变,a.jsp是感知不到的,需要重新编译a.jsp。

taglib指令

<%@ taglib uri="/struts-tags" prefix="s"%>
<%@ taglib uri="/struts-dojo-tags" prefix="sx"%>

3.4 JSP脚本元素

JSP声明语句

<%!
// 每页显示多少条记录
private int rows = 10;
// 计算起始页,及实际分页值
private int[] caluPages(int curPage, long totalPages) {
......
}
%>

JSP表达式

<%=elapsedtime%>

JSP Scriptlets

<%
// 如果当前页大于1,则显示上一页
if(curPage > 1) {
out.println("<SPAN><A href=\"" + url + "&pg=" + (curPage-1) + "\">&lt;上一页</A></SPAN>");
}
%>

3.5 JSP动作元素

<jsp:include>

该动作元素提供了一种在JSP中包含页面的方式,即可以包含静态文件,也可以包含动态文件。用此种方式时,包含页面与被包含页面在逻辑上和语法上都是独立的,当被包含文件发生变化时,立刻生效。而前面提到的include指令则是将两个文件合并的,逻辑上语法上不独立(比如:不能命名相同名称的变量),被包含文件改变时,不能即时感知。

<jsp:forward>

是一种用于页面重定向的动作元素,它的作用是停止当前JSP页面的执行,而将客户端请求转交给另一个JSP页面。要注意转发与重定向的区别,转发(response.sendRedirect())是在服务器端进行的,不会引起客户端的二次请求,因此浏览器的地址不会发生任何变化,效率也比重定向高。

<jsp:param>

一种提供参数的附属动作元素,它以“名-值“对的形式为其它动作元素提供附加信息。

<jsp:plugin>

该动作元素可以将服务器端的JavaBean或Applet下载到客户端执行。

<jsp:userBean>

<jsp:setProperty>

<jsp:getProperty>

上面三个元素都是与JavaBean相关的。<jsp:userBean>动作元素用来装载一个将在JSP页面中使用的JavaBean。

3.6 JSP内置对象

request对象

response对象

out对象

session对象

application对象

pageContext对象

pageContext对象是一个比较特殊的对象,使用它不仅可以设置page范围内的属性,还可以设置其它范围内的属性。通过pageContext还可以访问本页面中所有的其它对象,如:request/response/out等对象。

page对象

config对象

exception对象

JSP/Servlet参考API地址:

http://tomcat.apache.org/tomcat-7.0-doc/servletapi/index.html

http://tomcat.apache.org/tomcat-7.0-doc/jspapi/index.html

Java Web开发基础零星知识的更多相关文章

  1. Java Web开发基础(3)-JSTL

    在DRP项目中接触到了JSTL标签库,对我这样的比較懒的人来说,第一感觉就是"惊艳". JSTL标签库的使用.能够消除大量复杂.繁复的工作.工作量降低的不是一点半点.是降低了一大半 ...

  2. java Web开发基础(一)工程项目文档结构

    2013年毕业后,在深圳工作开始是用.NET ASP.NET MVC做的项目,后来公司用java来做.于是就从.NET转java了.从.NET转java不是那么的难.今天刚好是清明节放假三天,整理了j ...

  3. Java Web开发基础(1)-Servlet

    概述 Servlet技术是对webserver的扩展,要理解这个,可能先了解一下什么是Webserver以及它的功能,特别是它的不足是非常有帮助的,可參考:点击打开链接.另外.Servlet也是一个用 ...

  4. Java Web开发基础(2)-JSP

    上一篇博我粗略的介绍了一下Servlet.粗略是由于博主也刚刚学习这部分的内容,还不是非常懂所以无法讲的非常精细.可是本着二八原则,我还是先继续学习.所以,这篇博客接着JSP的内容.由于.这两个内容关 ...

  5. java web开发基础实例(javabean+jsp+servlet+jdbc)

    JavaBean:用于传递数据,拥有与数据相关的逻辑处理 JSP:从Model接收数据并生成HTML Servlet:接收HTTP请求并控制Model和View jdbc:用于配置环境 一.[建立数据 ...

  6. java web开发必备知识

    从各种招聘网站的要求上筛选出了一些java开发的一些基本的要求,对照自身看看有哪些缺陷. java基础 既然是java web开发,java SE肯定要学好了. 多线程,IO,集合等,对队列,缓存,消 ...

  7. Spring MVC + Spring + Mybitis开发Java Web程序基础

    Spring MVC + Spring + Mybitis是除了SSH外的另外一种常见的web框架组合. Java web开发和普通的Java应用程序开发是不太一样的,下面是一个Java web开发在 ...

  8. 个人的java web开发书单

    首发至个人博客http://www.zidafone.com/blog/36 以下是对一些读过的书和一些买后随便翻了翻的书的个人感觉.都是java web开发的程序员可能接触的书,其他的如设计/手机开 ...

  9. 《Java Web开发实战》——Java工程师必备干货教材

    一年一度毕业季,又到了简历.offer漫天飞,失望与希望并存的时节.在IT行业,高校毕业生求职时,面临的第一道门槛就是技能与经验的考验,但学校往往更注重学生的理论知识,忽略了对学生实践能力的培养,因而 ...

随机推荐

  1. BZOJ4034 [HAOI2015]树上操作 树链剖分

    欢迎访问~原文出处——博客园-zhouzhendong 去博客园看该题解 题目传送门 - BZOJ4034 题意概括 有一棵点数为 N 的树,以点 1 为根,且树点有边权.然后有 M 个 操作,分为三 ...

  2. POJ2065 SETI 高斯消元

    欢迎访问~原文出处——博客园-zhouzhendong 去博客园看该题解 题目传送门 - POJ2065 题意概括 多组数据,首先输入一个T表示数据组数,然后,每次输入一个质数,表示模数,然后,给出一 ...

  3. 深入理解类成员函数的调用规则(理解成员函数的内存为什么不会反映在sizeof运算符上、类的静态绑定与动态绑定、虚函数表)

    本文转载自:http://blog.51cto.com/9291927/2148695 总结: 一.成员函数的内存为什么不会反映在sizeof运算符上?             成员函数可以被看作是类 ...

  4. hdu1576(扩展欧几里得)

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1576 题目:要求(A/B)%9973,但由于A很大,我们只给出n(n=A%9973)(我们给定的A必能 ...

  5. Faster RCNN 学习与实现

    论文 论文翻译 Faster R-CNN 主要分为两个部分: RPN(Region Proposal Network)生成高质量的 region proposal: Fast R-CNN 利用 reg ...

  6. xadmin2.0(for Django2.0) 基本设置

    一.下载xadmin 1.使用安装工具安装: pip install git+git://github.com/sshwsfc/xadmin.git@django2 2.下载源码: git clone ...

  7. Luogu

    dalao们的博客a http://hzwer.com   //Orz  %%% https://oi-wiki.org  //Orz https://www.cnblogs.com/-guz/p/9 ...

  8. java 测量运行时间 单位:毫秒

    import java.util.*; public class DiffDemo { public static void main(String args[]) { try { long star ...

  9. 50 tips of JavaScript,这些坑你都知道吗?

    1.在局部作用域中,使用var操作符定义的变量将成为定义该变量的作用域中的局部变量,省略var的会创建全局变量:在全局作用域中,不管是否使用var操作符定义的变量都会创建一个全局变量.但是,在全局作用 ...

  10. Python3高级基础(2)

    1 Python3模拟数据结构 1.1 栈 栈是计算机中经典的数据结构,简单的说,栈就是限制在一端进行插入删除操作的线性表.栈有两种最重要的操作,即pop(从栈顶弹出一个元素)和push(将一个元素进 ...