静态web:不可进行数据库操作
动态web:可进行数据库操作,具备交互性,会自动根据用户请求的不同而显示不同的结果
Java Server Page,即Java服务页,有多种服务器可以支持,如Tomcat,WebLogic,JBoss,Websphere等
动态Web的两种开发模式:
C/S模式和B/S模式:
C/S模式(Client/Server模式):客户/服务器模式,客户端要安装工具软件,需管理服务器和客户端
B/S模式(Browser/Server模式):浏览器/服务器模式,以浏览器作为客户端的情况,仅需管理员和维护服务器
现有企业平台开发大量使用B/S开发模式,核心操作的大部分是围绕着数据库进行,但通过中间件进行过渡,即程序运行在中间件上,并通过中间件进行数据库操作,而具体一些相关的处理,如事务,安全等完全由中间件负责,则程序员仅需要负责具体功能的开发即可
企业开发的核心架构
开发平台->JavaEE
中间件->Tomacat中间件服务器
数据库->MySQL
操作系统->Linux
企业开发中的3个层次:
客户层:分内部用户及外部用户,客户端使用Web浏览器/Java编写的应用程序
中间层:为客户访问提供服务,使用各种组件技术进行搭建,且各个容器之间允许相互调用
企业信息系统层EIS:如数据库
JavaEE介绍:
JavaEE架构是基于JavaSE基础构建,由容器,组件,服务构成
容器:四种,Applet Container,Application Client Container和EJB Containe,各容器负责处理各自的程序,相互不影响
组件:每一种容器都运行各自的组件,JSP和Servlet组件
服务:Java服务的各种服务可以方便用户进行开发
Java EE架构只是工作在中间层的一种组件
MVC设计模式
要运行一个Java Web的程序,则必须有相应的Web容器支持,所有的程序代码要在Web容器中执行,将最后的结果交付给用户使用
如何区分静态请求和动态请求:
静态请求的所有代码是固定的,而动态请求的所有代是拼凑而成的
静态页面用.htm作后缀,动态页面用.jsp,可提高运
Tomcat服务器
每一个虚拟目录保存一个完整的Web项目
Web.xml文件是整个Web的核心配置文件
.htm和.html是一样的
客户端跳转和服务器跳转
jsp
jsp程序代码开发:在HTML中嵌入大量的Java代码
jsp程序的运行:jsp第一次执行时将.jsp文件翻译成.java文件,将.java编译成.class文件,生成的java与class文件保存在work文件夹
jsp的命名:最好采用小写的形式
jsp语法:
jsp注释:显示注释与隐式注释
Scriptlet(脚本小程序):<%%>定义局部变量,编写语句等
<%!%>定义全局变量,方法,类(jsp需要类和方法时,应该通过JavaBean的形式调用)
<%=%>输出一个变量或一个具体内容,称表达式输出(尽量不用out.prinltn()输出)
用<jsp:scriptlet></jsp:scriptlet>标答代替<%%>(尽量用此)
page指令:该属性可以定义一个jsp页面的相关属性
contentType---设置页面的MIME(指定某个扩展名文件将使用何种应用程序打开)
pageEncoding---设置页面编码的指定(比较contentType的charset)
errorPage--设置出现错误时要跳转的页面(目标页面的isErrorPage要置为true)可以在整个虚拟目录中指定全局的错误处理,修改web.xml文件,两种类型一种是Http代码的错误,一种是异常的错误
import--导入Java开发包(java.sql即可进行数据库的开发操作,数据库相关操作是一个重点)
包含指令:设置重复的部分
静态包含:无传参
动态包含:建议用此,先处理后包含,可传参
跳转指令:将一个用户的请求(request)从一个页面传递到另外一个页面,完成跳转的操作,可传参数
内置对象:9个,由容器为用户进行实例化,直接使用即可
属性范围:一个内置的对象可以在多少个页面中保存并继续使用,4种page,request,session,application
page(pageContext)属性范围:仅当前页面有效
request属性范围:只在一次请求中保存,服务器跳转后依然有效
sessioin属性范围:在一次会话范围中,无论何种跳转都可使用,但新开浏览器无法使用
application属性范围:在整个服务器上保存,所有用户都可使用,保存在服务器上,过多影响服务器性能
若浏览器重新启动,所有属性消失
参数传递-表单,URL地址重写
表单提交两种方式:get---提交的内容显示在地址栏上
post---提交的内容不会显示在地址栏上
request对象:接收客户端发送而来的请求信息,如请求的参数,发送的头信息等都属于客户端发来的信息
乱码解决:
接收请求参数:一个参数/一组参数(同名参数)
显示全部的头信息:除了请求和回应的同时包含的其他信息(如客户端的IP,Cookie,语言等)
角色验证:
其它操作:取得客户端的IP地址,访问的路径信息,提交的方式等
response对象:对客户端的请求进行回应 ,将Web服务器处理后的结果发回给客户端
设置头信息:如几秒后跳转
直接跳转:
操作Cookie:浏览器提供的一种技术,让服务器端的程序能将一些只须保存在客户端,或者在客户端进行处理的数据,放在本身使用的计算机中,不须通过网络的传输
session对象:完成用户的登录,注销等常见功能,每一个session对象都表示成不同的访问用户
取得session id:当一个用户连接到服务器后,服务器会自动为此session分配一个不会重复的session id,服务器依靠这些不同的session id 来区分每一个不同的用户
登录及注销:
判断新用户:
取得用户的操作时间:
application对象:
取得虚拟对应的绝对路径
查看application范围的属性
web安全性:WEB-INF文件夹
config对象:取得一些初始化的配置信息
out对象:完成页面的输出操作,使用概率少,一般用表达式完成输出的操作
pageContext对象:表示JSP页面的上下文
JavaBean:使用Java语言的一个可重用的组件,可将HTML和Java代码分离
导入操作:
使用JSP的page指令导入所需要的JavaBean
使用useBean指令
表单操作:
提交表单后自动匹配
设置属性:
<jsp:setProperty>四种方式
取得属性:
<jsp:getProperty>一种方式
保存范围