首先,说明一下,这是一篇关于 Java Web 基础入门的文章,上学期开始学习 Java Web ,看了不少有关 「XXX从入门到精通」的书籍,近期,要帮着导师带几名本科生,所以决定总结一下以前学的 Java Web 的基础知识,毕竟不能在本科生面前丢面子嘛。
Web 即表示网页的意思,他用于表示Internet主机上供外界访问的资源,该资源可以被分为两类:
1.静态Web资源:是指是实际存在的,无需经过服务器的编译,直接加载到客户浏览器上显示出来,供人们浏览的数据始终不变。例如, *.html页面。
静态Web请求过程
执行流程:
特点:
2.动态Web资源:与静态页面不同的是,其显示的内容是在访问该页面的时候动态生成的【改变的内容主要来自于数据库中数据的改变】,并不是指页面会动。 目前,比较流行的动态网页制作技术有:ASP、PHP、JSP
动态Web请求.jpg
执行流程:
如果WEB Server Plugin发现客户端请求的是静态资源(.htm或者是.htm),则将请求直接转交给WEB服务器,之后WEB服务器从文件系统中取出内容,发送回客户端浏览器进行解析执行。
如果WEB Server Plugin发现客户端请求的是动态资源(例如:.jsp、.asp/.aspx、.php等),则先将请求转交给WEB Container(WEB容器),在WEB Container中连接数据库,从数据库中取出数据等一系列操作后动态拼凑页面的展示内容,拼凑页面的展示内容后,把所有的展示内容交给WEB服务器,之后通过WEB服务器将内容发送回客户端浏览器进行解析执行。
注意: 所谓静态页面,是基于访问页面时网页的内容有无变化而言的,与页面的视觉效果无关,因为动态的视觉效果主要是通过JavaScript、jquery等技术实现的。
iTerm2
如图所示,即可在本机开启 Tomact 服务器,打开浏览器,输入 127.0.0.1:8080 ,即可显示一下页面:
Tomact7
Microsoft的Web服务器产品为Internet Information Services (IIS),IIS 是允许在公共Intranet或Internet上发布信息的Web服务器。ⅡS是目前最流行的Web服务器产品之一,很多著名的网站都是建立在ⅡS的平 台上。IIS提供了一个图形界面的管理工具,称为Internet信息服务管理器,可用于监视配置和控制Internet服务。
IIS
IIS是一种Web服务组件,其中包括Web服务器、FTP服务器、NNTP服务器和SMTP服务器,分别用于网页浏览、文件传输、新闻服务和邮件发送等方面,它使得在网络(包括互联网和局域网)上发布信息成了一件很容易的事。它提供ISAPI(Intranet Server API)作为扩展Web服务器功能的编程接口;同时,它还提供一个Internet数据库连接器,可以实现对数据库的查询和更新。
JSP 技术是由原 SUN 公司提出,他基于 Java Servlet 技术来实现开发的动态、高性能的 Web 应用程序,JSP 的网页实质就是在 Html 的基础上按照指定的语法格式添加 Java 代码片段与 JSP 的特殊标记,然后以 .jsp 为后缀保存。 JSP 实质上也是一个HTML页面,只不过他包含用于产生动态网页内容的 Java 代码,这些 Java 代码可以是 Java Bean、SQL语句等。
** JSP执行的大体流程:** 首先,客户端向 Web服务器发出请求,然后 JSP引擎负责将页面转化为 servlet,此 Servlet 经过虚拟机的编译后生成类文件,然后再将类文件加载进内存中执行,最后,由服务器将处理的结果返回给客户端。
JSP 页面会被编译成 Servlet 代码,所以从执行效率上来说,肯定没有 Servle t快,但并不是每次都需要编译,当第一次编译完成之后,JSP 引擎会缓存已经编译后的类文件,所以,当重复调用的时候,就不需要重复的编译了。
下面我从一个 Java Web 项目中找出了一个简单 JSP 源代码,先熟悉一下JSP 页面的基本组成:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%@ page import="net.sf.json.JSONArray"%>
<%@include file="is_login.jsp" %>
<head>
</head>
<body>
<table width="80%" border="0" cellpadding="4" cellspacing="1"
bgcolor="#464646" class="newfont03" align="center">
<tr bgcolor="#EEEEEE">
<td>编号</td>
<td>新闻标题</td>
<td>发布日期</td>
<td colspan="2">新闻管理</td>
</tr>
<%
response.setContentType("text/html;charset=UTF-8");
request.setCharacterEncoding("utf-8");
if(request.getAttribute("json")!=null){
JSONArray json = JSONArray.fromObject(request.getAttribute("json"));
for (int i = 0; i < json.size(); i++) {
%>
<tr bgcolor="#FFFFFF">
<td><%=json.getJSONObject(i).getInt("news_id")%></td>
<td><%=json.getJSONObject(i).getString("news_title")%></td>
<td><%=json.getJSONObject(i).getString("news_date")%></td>
<td><a href="http://localhost:8080/iframework22/deleteNews.u?id=<%=json.getJSONObject(i).getInt("news_id")%>">删除新闻</a></td>
<td><a href="xiugai.jsp?id=<%=json.getJSONObject(i).getInt("news_id")%>&content=<%=json.getJSONObject(i).getString("news_content")%>&title=<%=json.getJSONObject(i).getString("news_title")%>" >更新新闻</a></td>
</tr>
<%
}
}
else{
%>
<%="出错了" %>
<% }
%>
</table>
</body>
</html>
从中我们可以看到,JSP 代码并不是直接写在 HTML 中的,而是写在 <% %> 中间的,与普通的 HTML 页面代码不同的是 JSP 引入了一些标签,引入了相应的类库。
Java Web 的入门基础就写到这里吧,下次有空开始写 JSP 的基础语法以及简单的实例。
感悟: 发现写文章好累人啊,御魔了一晚上才写了这么点,每次想说的总是很宏达,可是一下笔就陷入无尽的细节中,自己的写作表达能力仍需努力啊!现在是真佩服那些能够坚持写完一个系列的博主。所以,遇到用心写的文章,也许文章并不完美,但不要吝啬你的喜欢、评论奥,因为正是你喜欢、评论鞭策他们走向优秀。