一、 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)>]>
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”); 重复元素:+ * ? | () , 无 5. XML文件解析(五种方法)
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 JDBC:jdbc:oracle.thin:@127.0.0.1:1521:ORCL ODBC:jdbc:odbc:数据源名称 3. 连接数据库的url 4. 几种sql分析器的比较: Statement: 普通分析器 PreparedStatement :预编译的sql分析器(效率高),可以使用通配符”?” CallableStatement :Java中专门用来调用过程和函数的分析器
con.setAutoCommit(false);
con.commit();
con.rollback();
注:多个会话同时开启时:只对Update挂起,insert和delete不挂起 7. Connection的三种连接方式:滚动,并发只读,并发更新
8. 使用结果集ResultSet修改、插入、删除、查询指定记录
插入: rs.absolute(8);
rs.movetoInsertRow(); 6. 事务处理:
rs.updateInt(1,1234); rs.uptadeString(2,”Lee”); rs.insertRow(); rs.movetoCurrentRow(); rs.deleteRow(); rs.updateInt(8888); rs.updateRow(); 删除: rs.absolute(3); 修改: rs.absolute(5); 9. 使用JDBC调用函数、过程、包、游标
三、 HTML基础
1. 作用:显示信息。
HTML是静态的,IE可以直接解析,而JSP是动态的,需要服务器解析
2. HTML基本结构:
<HTML> <HEAD></HEAD> <BODY></BODY>
</HTML>
3. HTML主要元素(控件)
提交按钮:<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=”””> 文本:<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>
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>
据)
pageContext 仅当前页面有效
request
response
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(); 请求页面有效 对整个IE窗口有效 页面转向: <jsp:forward></jsp:forword> <jsp:include></jsp:include> JSP内置对象:(setAttribute() 临时存储数据,getAttribute()获取数application
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的生存周期,效果相当于:
七、 Servlet
1. 简介:servlet是位于服务器上的Java应用程序。继承HttpServlet类,必须在web.xml中注册。Web.xml 是部署描述文件。服务器在启动时,根据web.xml中的配置加载Servlet。
2. 作用:作为MVC模式中的控制层,用作控制转发。 3. Servlet生命周期:
init() 第一次访问时调用,只调一次
service()每次访问都调用,决定调用doGet()还是doPost() destroy()服务器关闭时调用
4. web.xml 部署描述文件的配置: Emp e = new Emp(); Request.setAttribute(“emp”,e); <jsp:getProperty name=”emp” property=”name”>
<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() 每当访问网页,过滤器自动执行。
作用:监听客户请求和服务器操作。可以自动激发一些操作,如监听在线用户数量(即做访问统计)。 靠事件触发:如setAttribute();
实现:实现Listener接口,在web.xml中注册
常用接口: 7. 监听器:
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>配置节点
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}
八、 EL表达式