Java web 总结

一、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}

 

原文地址:https://www.cnblogs.com/hzj680539/p/3060843.html