.JavaWeb开发技术
2018-06-29 10:40:21 3 举报
AI智能生成
java web基础
作者其他创作
大纲/内容
.JavaWeb开发技术
Tomcat服务器
别称
JSP/Servlet容器
web中间件
web容器
下载安装
Tomcat的目录结构
/bin \t存放各种平台下用于启动和停止Tomcat的脚本文件
/conf\t存放Tomcat服务器的各种配置文件
/lib \t存放Tomcat服务器所需的各种JAR文件
/logs \t存放Tomcat的日志文件
/temp \tTomcat运行时用于存放临时文件
/webapps \t当发布Web应用时,默认情况下会将Web应用的文件存放于此目录中
/work \tTomcat把由JSP生成的Servlet放于此目录下
tomcat里Web应用的目录结构
/\tWeb应用的根目录,该目录下所有文件在客户端都可以访问(JSP、HTML等)
/WEB-INF\t存放应用使用的各种资源,该目录及其子目录对客户端都是不可以访问
/WEB-INF/classes \t存放Web项目的所有的class文件
/WEB-INF/lib \t存放Web应用使用的JAR文件
URL
Uniform Resource Locator统一资源定位符
JSP (Java Server Pages)
page指令
<%@ page language=\"java\" import=\"java.util.*\" pageEncoding=\"ISO-8859-1\"%>
language \t指定JSP页面使用的脚本语言\tjava
import\t通过该属性来引用脚本语言中使用到的类文件
小脚本
<%%>
表达式
<%= %>
JSP中的声明
<%! Java代码%>
JSP 执行过程
JSP内置对象
Request
对象主要用于处理客户端请求
Request对象常用方法
String getParameter(String name)\t根据表单组件名称获取提交数据
String[ ] getParameterValues(String name)\t获取表单组件对应多个值时的请求数据
void setCharacterEncoding(String charset)\t指定每个请求的编码
RequestDispatcher getRequestDispatcher(String path)\t返回一个RequestDispatcher对象,该对象的forward( )方法用于转发请求
Response
对客户的请求做出动态的响应,向客户端发送数据。
Response对象常用方法
response.setContentType(\"text/html; charset=utf-8\
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() \t获取sessionid
void setMaxInactiveInterval(int interval) \t设定session的非活动时间
int getMaxInactiveInterval()\t获取session的有效非活动时间(以秒为单位)
void invalidate() \t设置session对象失效
Object getAttribute(String key)\t通过key获取对象值
void removeAttribute(String key) \t从session中删除指定名称(key)所对应的对象
Application
什么时Application对象
服务器启动后就产生了这个Application对象,当客户再所访问的网站的各个页面之间浏览时,这个Application对象都时同一个,直到服务器关闭。但是与Session对象不同的时,所有客户的Application对象都时同一个,即所有客户共享这个内置的Application对象。
application对象,实现用户间数据的共享,可存放全局变量;application对象,开始于服务器启动,终止于服务器关闭;
常用的方法:
Object getAttribute(String name) 返回此会话中,指定名称绑定的对象,如果该名称没有绑定任何对象,则返回null;
out对象
缓冲区——Buffer,就是内存的一块区域,用来保存临时数据。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类的实例。
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()方法
配置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接口方法
void init (ServletConfig config) \t由 Servlet 容器调用,用于完成Servlet对象在处理客户请求前的初始化工作
void destroy ( ) \t由 Servlet 容器调用,释放Servlet对象所使用的资源
ServletConfig getServletConfig ( ) \t返回ServletConfig 对象,该对象包含此 Servlet 的初始化和启动参数。返回的 ServletConfig 对象是传递给 init( ) 方法的对象
String getServletInfo ( ) \t返回有关 Servlet 的信息,比如作者、版本和版权。返回的字符串是纯文本,而不是任何种类的标记(如 HTML、XML等)
Servlet的生命周期
JSTL和EL
EL表达式语法
${ EL expression }
按照page → request → session → application的作用域顺序依次查找,找到即返回,最终找不到返回null
指定作用域
page\tpageScope,例如${pageScope.username}表示在page作用域查找变量username,找不到返回null
request\trequestScope
session\tsessionScope
application\tapplicationScope
操作符
点操作符${user.name}
[ ]操作符${user[\"name\"]}
执行表达式
==(或eq)\t等于\t${23==5}或${23 eq 5}${\"a\" ==\"a\"}或${\"a\" eq \"a\"}
!=(或ne)\t不等于\t${23!=5}或${23 ne 5}\t
<(或lt)\t小于\t${23<5}或${23 lt 5}
>(或gt)\t大于\t${23>5}或${23 gt 5}
<=(或le)\t小于等于\t${23<=5}或${23 le 5}
>=(或ge)\t大于等于\t${23>=5}或${23 ge 5}\t
&&(或and)\t逻辑与\t\t如果A为true,B为false,则${ A && B } (或${ A and B } )
||(或or)\t逻辑或\t如果A为true,B为false,则${ A || B} (或 ${ A or B } )
! (或not)\t逻辑非\t如果A为true,则${ ! A } ( 或${ not A } )
若变量 a为null,或长度为零的String,或size为零的集合则${ 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\
$('#postForm').serialize()
子主题
JSON(JavaScript Object Notation)
json数据格式的优点
一种轻量级的数据交换格式
采用独立于语言的文本格式
通常用于在客户端和服务器之间传递数据
轻量级交互语言
结构简单
易于解析
定义JSON对象
var person = { \"name\" : \"张三\
定义JSON数组
var countryArray = [ \"中国\
var personArray = [ { \"name\":\"张三\
0 条评论
回复 删除
下一页