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