一、XML(Extensible Markup Language)扩展标记语言
1. 作用:描述数据,存储数据,交换数据
2. 格式:
<?xml version=”1.0” encoding=”GBK”?> <!—xml声明注释 -->
<root>
<row>
<empno>7369</empno>
<ename>SMITH</ename>
</row>
</root>
3. 数据岛
<xml id=”emp” src=”emp.xml”/> 载入xml文件
4. DTD(Data Type Definition)
作用:限定XML的内容
分类(内部DTD,外部DTD,公用DTD)
子元素:<!DOCTYPE staff [<!ELEMENT staff any>
<!ELEMENT empno (#PCDATA)>]>
重复元素:+ * ? | () , 无
5. XML文件解析(五种方法)
SAXReader sr = new SAXReader();
Document doc = sr.read(“emp.xml”);
Element el_root = doc.getRootElement();
1. Iterator it = el_root.elementIterator();
2. List rowlist = el_root.elements(“row”);
3. doc.accept(new Vistor(){});
4. Visitor vt = new VisitorSupport(){};
doc.accept();
5. List list = doc.selectNodes(“ROWDATA/ROW/ENAME”);
6. XML文件的写入、删除、更新
用到的方法主要有:
Document.createDocument(); //建立XML文档
doc.addElement(“”);
new FileWriter(“url”);
Output.createPrettyPrint();
setEncoding(“GBK”);
new XMLWriter();
二、 JDBC(java database connectivity) java数据库连接
1. JDBC是Java调用相关数据库的API,它独立于数据库
2. java 调用数据库的步骤:(主要有四步)
Class.forName(oracle.jdbc.driver.OracleDriver); //加载驱动
Connection con = DriverManager.getConnection(url,username,password); //建立连接
Statement st = con.createStatement(); //建立sql分析器
ResultSet rs = st.executeQuery(“select * from emp”); //执行sql语句分析
3. JDBC 与ODBC的比较
1. 连接驱动方式:
JDBC :有三种驱动方式,OCI NET8,thin(瘦客户端的连接方式,客户端只需加载几个专用jar包),KPR8方式
ODBC:ODBC桥的方式,必须在windows环境下安装驱动程序,创建数据源
2. 加载驱动的代码:
JDBC:oracle.java.driver.OracleDriver
ODBC:sun.jdbc.ocbc.jdbcodbcDriver
3. 连接数据库的url
JDBC:jdbc:oracle.thin:@127.0.0.1:1521:ORCL
ODBC:jdbc:odbc:数据源名称
4. 几种sql分析器的比较:
Statement: 普通分析器
PreparedStatement :预编译的sql分析器(效率高),可以使用通配符”?”
CallableStatement :Java中专门用来调用过程和函数的分析器
6. 事务处理:
con.setAutoCommit(false);
con.commit();
con.rollback();
注:多个会话同时开启时:只对Update挂起,insert和delete不挂起
7. Connection的三种连接方式:滚动,并发只读,并发更新
8. 使用结果集ResultSet修改、插入、删除、查询指定记录
插入: rs.absolute(8);
rs.movetoInsertRow();
rs.updateInt(1,1234);
rs.uptadeString(2,”Lee”);
rs.insertRow();
rs.movetoCurrentRow();
删除: rs.absolute(3);
rs.deleteRow();
修改: rs.absolute(5);
rs.updateInt(8888);
rs.updateRow();
9. 使用JDBC调用函数、过程、包、游标
三、 HTML基础
1. 作用:显示信息。
HTML是静态的,IE可以直接解析,而JSP是动态的,需要服务器解析
2. HTML基本结构:
<HTML>
<HEAD></HEAD>
<BODY></BODY>
</HTML>
3. HTML主要元素(控件)
文本:<input type=”text” name=”username”>
密码框:<input type=”password” name=”pwd”>
单选框:<input type=”radio” name=”sex”>
多选框:<input type=”checkbox” name=”favor”>
文本输入框:<input type=”file” name=”myfile”>
隐藏域:<input type=”hidden” name=”user” value=”username”>
多行文本框:<textarea rows=”10” cols=”30”></textarea>
列表框:<select><option><option><select>
提交按钮:<input type=”submit” value=”提交”>
重置按钮:<input type=”reset” value=”重置”>
普通按钮:<input type=”button” value=”点击” onclick=”window.close()”>
Form表单:<form action=”A.html” method=”post”></form>
图片标签:<img src=”” height =”” width=””>
Meta标记:<meta http-equiv=”refresh” content=”2,url=”http://www.126.com””>
Div 标记:<div align=”center” style=””></div> 另起一行显示
Span标记:<span></span> 直接在上一行后面显示
跑马灯:<marquee behavior=”scroll/slide/alternate” direction=”” scrollmout=””>
预格式:<pre><pre>
字段集:<fieldset><legend>标题<legend></fieldset>
框架集:<frameset><frame cols=”30%,*”><frameset>
超链接:<a href=””></a>
网页内嵌:<iframe>
视频:<embed src=””> <img dynsrc=”” start=”moveorver”>
背景音乐:<bgsound src=””>
四、 Javascript基础(一种脚本语言)
1. 简介:Javascript是一种弱类型的语言,是基于对象,基于事件的。
2. Javascript语法:
它的变量都定义为var类型,它的语法检验很弱,区分大小写,它的内建对象和内建函数都是小写。
数组:new Array(8);
循环:while,for,
判断:if ,swich case
常用内置对象:
Window:alert,confirm,prompt,open,print,close
Document:prompt, all(“”).style.display
Location: href ,replace(不可回退)
history
事件: onclick,ondblclick,
onload,onunload(这两个只在body中使用)
onmouseover,onmouseout,
oncommit (在form中使用)
onchange(用在Select中)
onselect(用在文本的选中)
内置HTML:innerHTML (用于改变元素的源代码)
网页内嵌:<iframe id=”message” src=”sports.html”>
document.all(“message”).src=”sports.html”
五、 JSP
1. 简介:JSP是动态代码,必须有服务器来解析。需要整合myEclipse和TomCat。发布的只是webroot下的内容。JSP第一次执行时在服务器端由引擎转换为Servlet代码,最终编译成class文件。
2. JSP语法:
声明:<%! %> 声明变量或函数,是公有的,全局的
输出:<%= %>
指令:page,include,taglib
<%@ page import=”” contentType=”text/html;charset=GBK”%>
3. JSP应用:
设置错误页:
errorPage=”error.jsp”
isErrorPage=”true” 与out.println(exception.getMessage()) 合用
文件的静态引入:
<%@include file=”A.jsp”%> 直接拷贝执行
文件的动态引入:
<jsp:include flush=”true” page=”A.jsp” > </jsp:include>
页面转向:
<jsp:forward></jsp:forword>
<jsp:include></jsp:include>
JSP内置对象:(setAttribute() 临时存储数据,getAttribute()获取数据)
pageContext 仅当前页面有效
request 请求页面有效
response 对整个IE窗口有效
application
4. 参数传递:
1) 超链接方式:<a href=”A.jsp?username=Lee&pwd=888”></a>
2) Form提交:post可传递大数据
3) Jsp:forward 或jsp:include方式
4) Javascript方式:loacation.href 或location.replace(“A.jsp?.....”)
5. request的使用:
request.getContextPath();
request.getRealPath();
request.getParameterValues();
request.setCharacterEncoding(“GBK”);
request.getRequestDispatcher(“A.jsp”).forward(request,response);
6. response 的使用:(response 是服务器端得响应)
sendError();
setContentType(“text/html;charset=GBK”);
sendRedirect() 页面重定向,相当于location.replace()
注:sendRedirect 重定向后,request不再是原来的request
六、 JavaBean
1. javaBean将jsp中的Java代码抽取出来,减小代码耦合,提高内聚。
2. 组件:做好的一个软件模块,常用组件有:COM,JavaBean,EJB,CORBA
3. 写JavaBean的四个要求:
A.无参的构造函数
B.在一个包下
C.应该没有public类型的属性
D.对属性的访问,通过setter.getter来访问
4. 应用:
<jsp:useBean id=”emp” class=”com.sun.demo.Emp” scope=”request”>
<jsp:setProperty name=”emp” property=”name” value=”tiger”>
</jsp:useBean>
以上是javaBean的生存周期,效果相当于:
Emp e = new Emp();
Request.setAttribute(“emp”,e);
<jsp:getProperty name=”emp” property=”name”>
七、 Servlet
1. 简介:servlet是位于服务器上的Java应用程序。继承HttpServlet类,必须在web.xml中注册。Web.xml 是部署描述文件。服务器在启动时,根据web.xml中的配置加载Servlet。
2. 作用:作为MVC模式中的控制层,用作控制转发。
3. Servlet生命周期:
init() 第一次访问时调用,只调一次
service()每次访问都调用,决定调用doGet()还是doPost()
destroy()服务器关闭时调用
4. web.xml 部署描述文件的配置:
<servlet>
<servlet-name>
<servlet-class>
<init-param> 初始化参数
<param-name>
</init-param>
</servlet>
<servlet-maping>
<servlet-name>
<url-pattern>
</servlet-maping>
<welcome-file-list> 设置欢迎页面
<welcome-file>
</welcome-file-list>
<error-page> 设置错误页
<error-code>(或exception-type)
<location>
</error-page>
<session-config> 设置session的有效生命
<session-timeout>(以分钟为单位)
</session-config>
5. Servlet访问:(与JSP类似)
6. 过滤器:
作用:权限校验,日志记录,图片转换,数据加密等
实现:实现Filter接口,重写doFilter方法,传递过滤链,放请求过去chain.doFilter(), 在web.xml中注册过滤器。
生存周期: init()服务器启动是执行,只调用一次
doFilter()
destroy()
每当访问网页,过滤器自动执行。
7. 监听器:
作用:监听客户请求和服务器操作。可以自动激发一些操作,如监听在线用户数量(即做访问统计)。 靠事件触发:如setAttribute();
实现:实现Listener接口,在web.xml中注册
常用接口:
ServletContextAttributeListener
ServletContextListener
HttpSessionAttributeListener
HttpSessionListener
8. 字符集转换问题:
contentType=”text/html;charset=GBK”
request.setCharacterEncoding(“GBK”);
response.setContentType(”text/html;charset=GBK”);
9. 编写安全的Servlet(避免数据共享)
10. 自动加载Servlet?
在web.xml 文件中添加<load-on-startup>配置节点
八、 EL表达式
1. EL是Jsp中使用的表达式语言(只在Jsp中使用)
2. 使用方法:${变量名称}
3. 作用:访问存储对象,简化JavaBean操作、集合操作、Map操作
4. 注意:EL只能用于提取数据
5. EL访问JavaBean:${emp.empno}
6. EL访问集合:${list[3].ename}
7. EL访问Map:${map.username}
8. 访问特定作用域中的值,如:${applicationScope.username}
9. 获取参数:${param.username} ,${paramvalues[1].username}