Java Web开发基础零星知识
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) + "\"><上一页</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开发基础零星知识的更多相关文章
- Java Web开发基础(3)-JSTL
在DRP项目中接触到了JSTL标签库,对我这样的比較懒的人来说,第一感觉就是"惊艳". JSTL标签库的使用.能够消除大量复杂.繁复的工作.工作量降低的不是一点半点.是降低了一大半 ...
- java Web开发基础(一)工程项目文档结构
2013年毕业后,在深圳工作开始是用.NET ASP.NET MVC做的项目,后来公司用java来做.于是就从.NET转java了.从.NET转java不是那么的难.今天刚好是清明节放假三天,整理了j ...
- Java Web开发基础(1)-Servlet
概述 Servlet技术是对webserver的扩展,要理解这个,可能先了解一下什么是Webserver以及它的功能,特别是它的不足是非常有帮助的,可參考:点击打开链接.另外.Servlet也是一个用 ...
- Java Web开发基础(2)-JSP
上一篇博我粗略的介绍了一下Servlet.粗略是由于博主也刚刚学习这部分的内容,还不是非常懂所以无法讲的非常精细.可是本着二八原则,我还是先继续学习.所以,这篇博客接着JSP的内容.由于.这两个内容关 ...
- java web开发基础实例(javabean+jsp+servlet+jdbc)
JavaBean:用于传递数据,拥有与数据相关的逻辑处理 JSP:从Model接收数据并生成HTML Servlet:接收HTTP请求并控制Model和View jdbc:用于配置环境 一.[建立数据 ...
- java web开发必备知识
从各种招聘网站的要求上筛选出了一些java开发的一些基本的要求,对照自身看看有哪些缺陷. java基础 既然是java web开发,java SE肯定要学好了. 多线程,IO,集合等,对队列,缓存,消 ...
- Spring MVC + Spring + Mybitis开发Java Web程序基础
Spring MVC + Spring + Mybitis是除了SSH外的另外一种常见的web框架组合. Java web开发和普通的Java应用程序开发是不太一样的,下面是一个Java web开发在 ...
- 个人的java web开发书单
首发至个人博客http://www.zidafone.com/blog/36 以下是对一些读过的书和一些买后随便翻了翻的书的个人感觉.都是java web开发的程序员可能接触的书,其他的如设计/手机开 ...
- 《Java Web开发实战》——Java工程师必备干货教材
一年一度毕业季,又到了简历.offer漫天飞,失望与希望并存的时节.在IT行业,高校毕业生求职时,面临的第一道门槛就是技能与经验的考验,但学校往往更注重学生的理论知识,忽略了对学生实践能力的培养,因而 ...
随机推荐
- BZOJ4034 [HAOI2015]树上操作 树链剖分
欢迎访问~原文出处——博客园-zhouzhendong 去博客园看该题解 题目传送门 - BZOJ4034 题意概括 有一棵点数为 N 的树,以点 1 为根,且树点有边权.然后有 M 个 操作,分为三 ...
- POJ2065 SETI 高斯消元
欢迎访问~原文出处——博客园-zhouzhendong 去博客园看该题解 题目传送门 - POJ2065 题意概括 多组数据,首先输入一个T表示数据组数,然后,每次输入一个质数,表示模数,然后,给出一 ...
- 深入理解类成员函数的调用规则(理解成员函数的内存为什么不会反映在sizeof运算符上、类的静态绑定与动态绑定、虚函数表)
本文转载自:http://blog.51cto.com/9291927/2148695 总结: 一.成员函数的内存为什么不会反映在sizeof运算符上? 成员函数可以被看作是类 ...
- hdu1576(扩展欧几里得)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1576 题目:要求(A/B)%9973,但由于A很大,我们只给出n(n=A%9973)(我们给定的A必能 ...
- Faster RCNN 学习与实现
论文 论文翻译 Faster R-CNN 主要分为两个部分: RPN(Region Proposal Network)生成高质量的 region proposal: Fast R-CNN 利用 reg ...
- xadmin2.0(for Django2.0) 基本设置
一.下载xadmin 1.使用安装工具安装: pip install git+git://github.com/sshwsfc/xadmin.git@django2 2.下载源码: git clone ...
- Luogu
dalao们的博客a http://hzwer.com //Orz %%% https://oi-wiki.org //Orz https://www.cnblogs.com/-guz/p/9 ...
- java 测量运行时间 单位:毫秒
import java.util.*; public class DiffDemo { public static void main(String args[]) { try { long star ...
- 50 tips of JavaScript,这些坑你都知道吗?
1.在局部作用域中,使用var操作符定义的变量将成为定义该变量的作用域中的局部变量,省略var的会创建全局变量:在全局作用域中,不管是否使用var操作符定义的变量都会创建一个全局变量.但是,在全局作用 ...
- Python3高级基础(2)
1 Python3模拟数据结构 1.1 栈 栈是计算机中经典的数据结构,简单的说,栈就是限制在一端进行插入删除操作的线性表.栈有两种最重要的操作,即pop(从栈顶弹出一个元素)和push(将一个元素进 ...