.JavaWeb开发技术
2018-06-29 10:40:21 3 举报
AI智能生成
java web基础
作者其他创作
大纲/内容
Tomcat服务器
别称
JSP/Servlet容器
web中间件
web容器
下载安装
Tomcat的目录结构
/bin 存放各种平台下用于启动和停止Tomcat的脚本文件
/conf 存放Tomcat服务器的各种配置文件
/lib 存放Tomcat服务器所需的各种JAR文件
/logs 存放Tomcat的日志文件
/temp Tomcat运行时用于存放临时文件
/webapps 当发布Web应用时,默认情况下会将Web应用的文件存放于此目录中
/work Tomcat把由JSP生成的Servlet放于此目录下
tomcat里Web应用的目录结构
/ Web应用的根目录,该目录下所有文件在客户端都可以访问(JSP、HTML等)
/WEB-INF 存放应用使用的各种资源,该目录及其子目录对客户端都是不可以访问
/WEB-INF/classes 存放Web项目的所有的class文件
/WEB-INF/lib 存放Web应用使用的JAR文件
URL
Uniform Resource Locator统一资源定位符
JSP (Java Server Pages)
page指令
<%@ page language="java" import="java.util.*" pageEncoding="ISO-8859-1"%>
language 指定JSP页面使用的脚本语言 java
import 通过该属性来引用脚本语言中使用到的类文件
contentType 用来指定JSP页面所采用的编码方式 text/html,
ISO-8859-1
小脚本
<%
%>
%>
表达式
<%= %>
JSP中的声明
<%! Java代码%>
JSP 执行过程
JSP内置对象
Request
对象主要用于处理客户端请求
Request对象常用方法
String getParameter(String name) 根据表单组件名称获取提交数据
String[ ] getParameterValues(String name) 获取表单组件对应多个值时的请求数据
void setCharacterEncoding(String charset) 指定每个请求的编码
RequestDispatcher getRequestDispatcher(String path) 返回一个RequestDispatcher对象,该对象的forward( )方法用于转发请求
Response
对客户的请求做出动态的响应,向客户端发送数据。
Response对象常用方法
response.setContentType("text/html; charset=utf-8");
格式:response.setContentType(String s);
参数s可取text/html,application/x-msexcel,application/msword等。
作用:设置发送到客户端的响应的内容类型
Response重定向
response.sendRedirect("index.jsp");
重定向是在客户端发挥作用,通过发送一个新的请求实现页面转向
Session
什么是Session对象
Session对象是一个JSP内置对象,它在第一个JSP页面被装载时自动创建,完成会话期管理。从一个客户打开浏览器并连接到服务器开始,到客户关闭浏览器离开这个服务器结束,被称为一个会话。当一个客户访问一个服务器时,可能会在这个服务器的几个页面之间切换,服务器应当通过某种办法知道这是一个客户,就需要Session对象。
Session对象的ID
当一个客户首次访问服务器上的一个JSP页面时,JSP引擎产生一个Session对象,同时分配一个String类型的ID号,JSP引擎同时将这换个ID号发送到客户端,存放在Cookie中,这样Session对象,直到客户关闭浏览器后,服务器端该客户的Session对象才取消,并且和客户的会话对应关系消失。当客户重新打开浏览器再连接到该服务器时,服务器为该客户再创建一个新的Session对
Session对象的常用方法
String getId() 获取sessionid
void setMaxInactiveInterval(int interval) 设定session的非活动时间
int getMaxInactiveInterval() 获取session的有效非活动时间(以秒为单位)
void invalidate() 设置session对象失效
void setAttribute(String key, Object value) 以key/value的形式保存对象值
Object getAttribute(String key) 通过key获取对象值
void removeAttribute(String key) 从session中删除指定名称(key)所对应的对象
Application
什么时Application对象
服务器启动后就产生了这个Application对象,当客户再所访问的网站的各个页面之间浏览时,这个Application对象都时同一个,直到服务器关闭。但是与Session对象不同的时,所有客户的Application对象都时同一个,即所有客户共享这个内置的Application对象。
application对象,实现用户间数据的共享,可存放全局变量;
application对象,开始于服务器启动,终止于服务器关闭;
application对象,开始于服务器启动,终止于服务器关闭;
常用的方法:
void setAttribute(String name,Object value) 使用指定名称将对象绑定到此会话;
Object getAttribute(String name) 返回此会话中,指定名称绑定的对象,如果该名称没有绑定任何对象,则返回null;
out对象
缓冲区——Buffer,就是内存的一块区域,用来保存临时数据。
out对象是JSPWriter类的实例,向客户端输出内容时常用的对象。
out对象是JSPWriter类的实例,向客户端输出内容时常用的对象。
常用的方法有:
void println() 向客户端打印字符串;
void flush() 将缓冲区内容输出到客户端;
void clear() 清除缓冲区的内容,如果在flush之后调用会抛出异常;
void clearBuffer() 清除缓冲区的内容,在flush之后调用不会抛出异常;
void close() 关闭输出流
page对象
page对象,就是指当前JSP页面本身,有点像类中的this指针;
page对象,是java.lang.Object类的实例。
pageContext对象
pageContext对象,提供了对JSP页面内所有对象及名字空间的访问;
pageContext对象,可以访问到本页所在的session,也可以取本页面所在的application的某一属性值;
pageContext对象是pageContext类的实例。
pageContext对象是pageContext类的实例。
config对象
config对象,是在一个servlet初始化时,jsp引擎向它传递信息用的,此信息包括servlet初始化时所要用到的参数(由属性名和属性值构成)以及服务器的有关信息(传递一个ServletContext对象);
常用的方法:
ServletContext getServletContext() 返回含有服务器相关信息的ServletContext对象;
String getInitParameter(String name) 返回初始化参数的值;
Enumeration getInitParameterNames() 返回Servlet初始化所需要的所有参数的枚举。
exception对象
exception对象,是一个异常对象,当一个页面在运行过程中发生了异常,就产生这个对象。如果一个Jsp页面要应用此对象,就必须把isErrorPage设为true,否则无法编译。是java.lang.Throwable的对象。
常用方法:
String getMessage() 返回描述异常的消息;
String toString() 返回关于异常的简短描述消息;
void printStackTrace() 显示异常及其栈轨迹;
Throwable FillInStackTrace() 重写异常的执行栈轨迹。
Servlet
Servlet是在服务器端运行的Java程序,可以接收客户端请求并做出响应
Servlet可以动态生成HTML内容对客户端进行响应
Servlet与JSP的关系
jsp页面继承于org.apache.jasper.runtime.HttpJspBase类,而HttpJspBase又是继承自HttpServlet的类,由此可以得出一个结论,就是JSP在运行时会被Web容器翻译为一个Servlet
Servlet的应用
创建Servlet
继承HttpServlet
重写doPost()或doGet()方法
重写doPost()或doGet()方法
配置Servlet <servlet>
<servlet-name>aaa</servlet-name>
<servlet-class>servlet.Test</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>aaa<servlet-name>
<url-pattern>/test</url-pattern>
</servlet-mapping>
<servlet-name>aaa</servlet-name>
<servlet-class>servlet.Test</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>aaa<servlet-name>
<url-pattern>/test</url-pattern>
</servlet-mapping>
Servlet接口方法
void init (ServletConfig config) 由 Servlet 容器调用,用于完成Servlet对象在处理客户请求前的初始化工作
void service (ServletRequest req,ServletResponse res) 由 Servlet 容器调用,用来处理客户端的请求
void destroy ( ) 由 Servlet 容器调用,释放Servlet对象所使用的资源
ServletConfig getServletConfig ( ) 返回ServletConfig 对象,该对象包含此 Servlet 的初始化和启动参数。返回的 ServletConfig 对象是传递给 init( ) 方法的对象
String getServletInfo ( ) 返回有关 Servlet 的信息,比如作者、版本和版权。返回的字符串是纯文本,而不是任何种类的标记(如 HTML、XML等)
Servlet的生命周期
JSTL和EL
EL表达式语法
${ EL expression }
按照page → request → session → application的作用域顺序依次查找,找到即返回,最终找不到返回null
指定作用域
page pageScope,例如${pageScope.username}表示在page作用域查找变量username,找不到返回null
request requestScope
session sessionScope
application applicationScope
操作符
点操作符
${user.name}
${user.name}
[ ]操作符
${user["name"]}
${user["name"]}
执行表达式
==(或eq) 等于 ${23==5}或${23 eq 5}
${"a" =="a"}或${"a" eq "a"}
${"a" =="a"}或${"a" eq "a"}
!=(或ne) 不等于 ${23!=5}或${23 ne 5}
<(或lt) 小于 ${23<5}或${23 lt 5}
>(或gt) 大于 ${23>5}或${23 gt 5}
<=(或le) 小于等于 ${23<=5}或${23 le 5}
>=(或ge) 大于等于 ${23>=5}或${23 ge 5}
&&(或and) 逻辑与 如果A为true,B为false,则${ A && B } (或${ A and B } )
||(或or) 逻辑或 如果A为true,B为false,则${ A || B} (或 ${ A or B } )
! (或not) 逻辑非 如果A为true,则${ ! A } ( 或${ not A } )
若变量 a为null,或长度为零的String,或size为零的集合
则${ empty a }返回的结果为true
${ not empty a }或${ ! empty a }返回的结果为false
则${ empty a }返回的结果为true
${ not empty a }或${ ! empty a }返回的结果为false
EL获取url上的参数
param
paramValues
JSP隐式对象
pageContext
JSP标准标签库(JSP Standard Tag Library)
JSTL通常会与EL表达式合作实现JSP页面的编码
引入标准标签库
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
c:if
c:forEach
Ajax:异步刷新技术
$.ajax( {
"url" : "url", // 要提交的URL路径
"type" : "get", // 发送请求的方式
"data" : data, // 要发送到服务器的数据
"dataType" : "text", // 指定传输的数据格式
"success" : function(result) { // 请求成功后要执行的代码
},
"error" : function() { // 请求失败后要执行的代码
}
} );
"url" : "url", // 要提交的URL路径
"type" : "get", // 发送请求的方式
"data" : data, // 要发送到服务器的数据
"dataType" : "text", // 指定传输的数据格式
"success" : function(result) { // 请求成功后要执行的代码
},
"error" : function() { // 请求失败后要执行的代码
}
} );
$('#postForm').serialize()
子主题
JSON(JavaScript Object Notation)
json数据格式的优点
一种轻量级的数据交换格式
采用独立于语言的文本格式
通常用于在客户端和服务器之间传递数据
轻量级交互语言
结构简单
易于解析
定义JSON对象
var person = { "name" : "张三", "age" : 30, "spouse" : null };
定义JSON数组
var countryArray = [ "中国", "美国", "俄罗斯" ];
var personArray = [ { "name":"张三", "age":30 },
{ "name":"李四", "age":40 } ];
{ "name":"李四", "age":40 } ];
0 条评论
下一页