动态网页:是指在服务器端运行的,使用程序语言设计的交互式网页,它们会根据某种条件的变化,返回不同的网页内容
动态网页需要使用服务器端的脚本语言,例如:JSP技术就是使用Java+HTML
动态网页的优势:
1:交互性:
网页会根据用户的要求和选择而动态改变和显示内容
2:自动更新:
无须改变页面代码,便会自动生成新的页面内容,可以大大节省工作量
3:随机性:
当不同的时间、不同的人访问同一网址时会产生不同的页面效果
例如:普通用户和管理员登录论坛时看到的页面效果内容是不同的
B/S(Browser/Server)架构技术
QQ聊天软件就是一个典型的C/S(Client/Server)
基于B/S架构的Web应用程序由于不再受安装客户端的限制,访问及其简便,因此被越来越多的企业采用,在此需要特别说明的是B/S架构的出现不是对C/S架构的一种变化或者改进。
B/S架构是随着Internet技术的兴起,对C/S架构的一种改进而非C/S的替代品
B/S架构的优势:维护和升级方式简单
在B/S架构中,软件应用的业务逻辑完全在服务器端实现,所有的客户端只是浏览器,不需要做任何的维护。因此系统管理员只需要关注服务器的软件升级即可。客户端只要重新登录系统,使用的就是最新版本的软件了
B/S架构的劣势:在速度和安全性上需要花费巨大的设计成本。
而且由于B/S架构的交互式请求/响应的模式,一旦数据信息发生变化,必须要通过刷新页面,才能看到更新的数据信息
什么时候用C/S?
C/S一般面向相对固定的用户群,一般高度机密的信息系统采用C/S架构
如:企业内部的信息管理系统,金融证券管理系统
什么时候用B/S?
B/S适用于公开信息发布,对信息的保密性要求较低,如企业网站、售后服务系统等
B/S架构的工作原理
只有浏览器解释执行完HTML文件,才能呈现结果界面
URL(Uniform Resource Locator)统一资源定位符
HTTP:(Hyper Text Transfer Protocol)超文本传输协议 Transmisstion
百度ip:202.108.22.5但常常使用它的域名baidu.com
Tomcat端口号的配置
在Tomcat目录下找到子目录conf------server.xml
用ctrl+f 查找 Connector port="8080",其中8080可改为6060修改后重新启动Tomcat目录结构
Web目录结构
在Tomcat的运行过程中,Tomcat类加载器会首先加载classes目录下的class文件,然后再加载lib目录下的类,需要注意的是,如果在classes目录下和lib目录下存在同名的类,那么classes目录下的类具有优先权
每个java web 应用都有一个核心文件,即web.xml,此文件必须保存在web-inf目录下,因为该目录客户端不可访问,他控制整个应用的行为和方法
配置web起始访问页面:
在web.xml文件中
<welcome-file-list>
<welcome-file>index.jsp---(这里可以改成html文件)</welcome-file>
</welcome-file-list> webapps目录用于进行web项目的发布
实现动态网页的关键就在于运行在服务器端的脚本语言
jsp的优点是:跨平台,易维护,易管理
实际上jsp就是在html中嵌入java的脚本语言
jsp的执行步骤:
翻译:成java源文件
编译:java源文件编译成class文件:二进制字节码文件
运行:class文件
当第二次发生相同的jsp请求时,就可以直接运行class文件
,所以JSP第一次请求时会比较慢,后续会很快
jsp页面由静态内容、指令、表达式、小脚本、
声明、标准动作、注释等元素构成
静态内容:即HTML文本
日期在java.text.*包中;
<%=
//有等号的的表示数据,不能写分号,相当于打印的功能
//使用预定格式将日期转换为字符串
new SimpleDateFormat("yyyy年MM月dd日HH点").format(new Date())
%> <%!
//!表示声明,可以声明成员变量,也可以声明方法----声明方法时必须要有声明符!
String declare="this is a declare";
public static void main(String args[]){
}
%> 如果要想知道程序是怎么运行的,因为JSP页面已经翻译成了.java文件,所以我们可以到Tomcat目录下的work目录
(这个目录存放着各个web 应用的servlet 即 java和class文件)
-----------
<!--这是HTML注释代码,客户端可以通过浏览器的右键查看源代码看到注释的代码 -->
<%-- 这是JSP注释代码,客户端不可以通过浏览器的右键查看源代码看到注释的代码 --%>
<%
//java单行注释
/*多行注释*/
/**
文档注释
*/
%> <% %>是在_jspService()这个方法内部进行编码 属于局部变量
<%! %>是在jsp的class类里面进行编码 属于类的成员
JSP的脚本元素包括:表达式、小脚本、声明
<% %>//这个叫小脚本
<%= %>//这个叫表达式,表达式的等号和分号不能同时存在,否则就会编译错误! <%! %>//这个叫声明
JSP指令元素
JSP指令元素的作用是通过设置指令中的属性,在JSP中运行时,控制jsp页面的某些特性:<%@ %>
<%@ page language="java" import="java.util.*,com.accp.epet.dao.*,com.accp.epet.entity.*" pageEncoding="UTF-8"%>
_______
contentType=" text/html;charset=utf-8" 等同于pageEncoding="UTF-8"
page 指令是针对当前页面进行设置的一种指令,通常位于jsp页面中的顶端。需要注意的是,page指令只对当前jsp页面有效,但是一个jsp页面中可以包含多个page指令
page指令常用的属性:
language:指定当前页面所用的脚本语言<%@ page language="java" %>
import:导入java的包
contentType:默认是" text/html;charset=ISO-8859-1"
让每次新建的jsp文件默认的编码是UTF-8