您的位置:首页 > 编程语言 > Java开发

JavaEE体系规范(全网最详细)

2018-10-21 12:04 218 查看
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/zhao_xx/article/details/83239174

使用java很多年,一开始的时候很深入的研究了一下javaSE,后来以为对java很了解了,现在发现还有太多的不了解,所以又从javaEE开始研究和总结,目的在于想对java有更深入的理解,也想在网上跟大家交流,如果总结出来的东西对大家又帮助那是更好,谢谢各位朋友关注、指导、交流。

JavaEE体系规范:(未完待续)

1、JSP规范

jsp页面的三大元素:指令、动作、java脚本

1.1、指令

page指令:

        page指令指定页面属性,是对页面整体的定义

        比如:language、contentType、pageEncoding

include指令

        该指令静态包含一个html或jsp页面

taglib指令:

        taglib指令用于引用外部标签库

1.2、动作元素

        jsp:attribute

        jsp:body

        jsp:element

        jsp:fallback

        jsp:forward

        jsp:getProperty

        jsp:include

        jsp:output

        jsp:param

        jsp:params

        jsp:plugin

        jsp:setProperty

        jsp:userBean

1.3、脚本

      声明:<%!%>

      表达式:<%=%>

      Java脚本:<%%>

2、Servlet规范

3、JDBC规范

3.1、JDBC简介

Jdbc是Java  Datebase  Connectivity的缩写,它是连接java程序和数据库服务器的纽带。如图所示,jdbc的实现封装了与各种数据库服务通信的细节。Java程序通过jdbc API来访问数据库,有以下优点:

(1)、简化访问数据库的程序代码,无须涉及与数据库服务器通信的细节。

(2)、不依赖于访问数据库平台,同一个java程序可以访问多种数据库服务器。

      

3.2、接口和类

                    Driver接口和DriverManager类:前者表示驱动器,后者表示驱动器管理器。

                    Connection接口:表示数据库连接。

                    Statement接口:负责执行SQL语句。

                    PreparedStatement接口:负责执行预准备的SQL语句。????

                    CallableStatement接口:负责执行SQL存储过程。

                    ResultSet接口:表示SQL查询语句返回的结果集。

       Driver接口和DriverManager类

所有JDBC驱动器都必须实现Driver接口。

DriverManager类用来建立和数据库的连接及管理JDBC驱动器。DriverManager类的方法都是静态的,主要包括以下几种。

  1. registerDriver(Driver driver):在DriverManager中注册JDBC驱动器。
  2. getConnection(String url,String user,String pwd):建立和数据库的连接,并返回表示数据库连接的Connection对象。
  3. setLoginTimeOut(int seconds):设定等待建立数据库连接的超时时间。
  4. setLogWriter(PrintWriter  out):设定输出JDBC日志的PrintWriter对象。

      Connection接口

        Connection接口代表java程序和数据库的连接,主要包括以下方法:

  1. getMetaData():返回表示数据库的元数据的DatabaseMetaData对象。元数据包含了描述数据库的相关信息,如数据库中的表结构就是一种元数据。
  2. createStatement():创建并返回Statement对象。
  3. prepareStatement(String sql):创建并返回PreparedStatement对象。

      Statement接口(执行)

Statement接口提供了3个执行SQL语句的方法:

  1. execute(String  sql):执行各种SQL语句。该方法返回一个boolean类型的值,如果为true,表示所执行的SQL语句具有查询结果,可通过Statement的getResultSet()方法获得这一查询结果。
  2. executeUpdate(String sql):执行SQL的insert、update、和delete语句。该方法返回一个int类型的值,表示数据库中受该SQL语句影响的记录的数目。
  3. executeQuery(String sql):执行SQL的select语句。该方法返回一个表示查询结果的ResultSet对象。

      PreparedStatement接口

PreparedStatement接口继承了Statement接口,用来执行预准备的SQL语句。在访问数据库时,可能会遇到这样的情况,某条SQL语句被多次执行,仅仅其中的参数不同。

Insert into tb_name(id,name,age,address,email) values(1,’zhxx’,10,’北京人才教育基地’,’zhxx_edu@126.com’);

Insert into tb_name(id,name,age,address,email) values(2,’zh’,11,’轻松学堂’,’zhxx@126.com’);

。。。。。。

Insert into tb_name(id,name,age,address,email) values(?,?,?,?,?);

Jaiewjfwajfeoijwafejewawajfoiwajfoiawjfwajf1wzhxxfj11jfoaefawa@fewajfewajfwj

 

PreparedStatement的使用步骤如下:

(1)、通过Connection对象的preparedStatement()方法生成PreparedStatement对象。

(2)、调用PreparedStatement的setXXX方法,给参数赋值,占位符。

(3)、执行SQL语句:

ResultSet rs = preStmt.executeQuery();

     ResultSet接口

ResultSet接口表示select查询语句得到的结果集。调用ResultSet对象的next方法,可以使游标定位到结果集中的下一条记录。调用ResultSet对象的getXXX()方法,可以获得一条记录中的某个字段的值。

ResultSet接口提供了一下常用的getXXX()方法:

  1. getString(int columnIndex):返回指定字段的String类型的值,参数columnIndex代表字段的索引。
  2. getString(String columnName):返回指定字段的String类型的值,参数columnName代表字段的名字。
  3. getInt(int columnIndex):返回指定字段的int类型的值,参数columnIndex代表字段的索引。
  4. getInt(String columnName):返回指定字段的int类型的值,参数columnName代表字段的名字。
  5. getFloat(int columnIndex):返回指定字段的float类型的值,参数columnIndex代表字段的索引。
  6. getFloat(String columnName):返回指定字段的float类型的值,参数columnName代表字段的名字。

3.3、数据源

                    JDBC2.0提供了javax.sql.DataSource接口,它负责建立与数据库的连接,当在应用程序中访问数据库时不必写连接数据库的代码,可以直接从数据源获得数据库连接。

                   数据源与数据库连接池

                   在数据源中事先建立了多个数据库连接,这些数据库连接保存在连接池(Connection Pool)中.当java程序访问数据库时,只需从连接池中取出空闲状态的数据库连接,当访问数据库结束后,再将数据库连接放回连接池,这样做可以提高访问数据库的效率。

 3.4、连接池

      常用开源数据库连接池

  1. 在Apache官网(http://www.apache.org/)下载一下jar包

commons-dbcp.jar 、commons-logging.jar 、commons-pool.jar

  1. dbcp使用:https://www.geek-share.com/detail/2687107761.html
  • c3p0

      下载:https://www.mchange.com/projects/c3p0/

      使用:https://www.geek-share.com/detail/2668601543.html

  • druid

      Druid是Java语言中最好的数据库连接池。Druid能够提供强大的监控和扩展功能。

      Druid是一个开源项目,源码托管在github上,源代码仓库地址是 https://github.com/alibaba/druid 。同时每次Druid发布正式版本和快照的时候,都会把源码打包,你可以从上面的下载地址中找到相关版本的源码

      下载地址:http://central.maven.org/maven2/com/alibaba/druid/

      Druid使用:https://www.geek-share.com/detail/2663349620.html

4、JNDI

5、XML

6、JMS

7、JTA

8、JTS

9、RMI

Java RMI
用于不同虚拟机之间的通信,这些虚拟机可以在不同的主机上、也可以在同一个主机上;一个虚拟机中的对象调用另一个虚拟上中的对象的方法,只不过是允许被远程调用的对象要通过一些标志加以标识。以下编写一个简单的案例:

声明接口:

[code]package com.rmi.server;

import java.rmi.Remote;
import java.rmi.RemoteException;

public interface IHello extends Remote {

String sayHello(String name) throws RemoteException;
public int sum(int a, int b) throws RemoteException;
}

 接口实现类;

[code]import java.rmi.RemoteException;
import java.rmi.server.UnicastRemoteObject;

public class HelloImpl extends UnicastRemoteObject implements IHello{

protected HelloImpl() throws RemoteException {
super();
}

@Override
public String sayHello(String name) throws RemoteException {
return "hello"+name;
}

@Override
public int sum(int a, int b) throws RemoteException {
return a+b;
}
}

 开启服务:

[code]import java.rmi.Naming;
import java.rmi.registry.LocateRegistry;

public class HelloServer {

public static void main(String[] args) {
try {
IHello iHello = new HelloImpl();
LocateRegistry.createRegistry(8888);
Naming.bind("rmi://localhost:8888/iHello", iHello);
System.out.println(">>INFO:远程IHello对象绑定成功!");
} catch(Exception e) {
e.printStackTrace();
}
}
}

10、IDL

11、JavaMail

12、JAF

13、EJB

 

阅读更多
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: