一、J2EE中如何使用SQLSERVER数据库的语句?
经过归纳得出J2EE sqlserver 连接数据库的三种配置:
一、连接池方式:
1、连接迟3个包+sqlserver驱动包复制到tomcat/common/lib
2、配置tomcat/conf/context.xml,注意2000和2005 驱动名字和路径
[xhtml] view plaincopyprint?
<Resource name="jdbc/pubs"
auth="Container" type="javax.sql.DataSource" maxActive="100"
maxIdle="30" maxWait="10000" username="sa" password="120010"
driverClassName="com.microsoft.jdbc.sqlserver.SQLServerDriver"
url="jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=books"/>
[xhtml] view plaincopyprint?
<Resource name="jdbc/pubs"
auth="Container" type="javax.sql.DataSource" maxActive="100"
maxIdle="30" maxWait="10000" username="sa" password="120010"
driverClassName="com.microsoft.jdbc.sqlserver.SQLServerDriver"
url="jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=books"/>
[java] view plaincopyprint?
//2000:
driverClassName="com.microsoft.jdbc.sqlserver.SQLServerDriver"
url="jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=books"/>
//2005:
driverClassName="com.microsoft.sqlserver.jdbc.SQLServerDriver"
url="jdbc:sqlserver://localhost:1433;DatabaseName=books"/>
[java] view plaincopyprint?
//2000:
driverClassName="com.microsoft.jdbc.sqlserver.SQLServerDriver"
url="jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=books"/>
//2005:
driverClassName="com.microsoft.sqlserver.jdbc.SQLServerDriver"
url="jdbc:sqlserver://localhost:1433;DatabaseName=books"/>
3、在工程web.xml添加节点
[c-sharp] view plaincopyprint?
<resource-ref>
<res-ref-name>jdbc/pubs</res-ref-name>
<res-type>javax.sql.DataSource</res-type>
<res-auth>Container</res-auth>
</resource-ref>
[c-sharp] view plaincopyprint?
<resource-ref>
<res-ref-name>jdbc/pubs</res-ref-name>
<res-type>javax.sql.DataSource</res-type>
<res-auth>Container</res-auth>
</resource-ref>
4、得到连接的方法内导如以下几个包:
[c-sharp] view plaincopyprint?
import javax.naming.Context;
import javax.naming.InitialContext;
import javax.naming.NamingException;
import javax.sql.DataSource;
// 得到Connection对象的方法
public static Connection getConnection(){
try {
Context ic = new InitialContext();
DataSource source = (DataSource)ic.lookup
("java:comp/env/jdbc/bbs");
con = source.getConnection();
}catch(NamingException ex){
ex.printStackTrace();
}catch(SQLException ex){
ex.printStackTrace();
}
return con;
}
[c-sharp] view plaincopyprint?
import javax.naming.Context;
import javax.naming.InitialContext;
import javax.naming.NamingException;
import javax.sql.DataSource;
// 得到Connection对象的方法
public static Connection getConnection(){
try {
Context ic = new InitialContext();
DataSource source = (DataSource)ic.lookup
("java:comp/env/jdbc/bbs");
con = source.getConnection();
}catch(NamingException ex){
ex.printStackTrace();
}catch(SQLException ex){
ex.printStackTrace();
}
return con;
}
================================================================================
二、读取属性文件方式
[java] view plaincopyprint?
*.properties文件
driverName=com.microsoft.sqlserver.jdbc.SQLServerDriver
url=jdbc:sqlserver://localhost:1433;DatabaseName=books
user=sa
password=123
//读取*.properties文件的类
import java.io.InputStream;
import java.util.Properties;
public final class Env extends Properties {
private static Env instance;
public static Env getInstance(){
if(instance != null){
return instance;
}else{
makeInstance();
return instance;
}
}
//synchronized 同步方法,保证同一时间只能被一个用户调用
private static synchronized void makeInstance(){
if(instance == null){
instance = new Env();
}
}
private Env(){
InputStream is =getClass().getResourceAsStream("db.properties");//配置文件位置
try{
load(is);
}catch(Exception ex){
System.err.println("请确认读取的文件是否存在!");
}
}
//测试连接是否成功方法方法
public static void main(String[] args) {
System.out.println(getInstance().getProperty("driverName"));
}
}
[java] view plaincopyprint?
*.properties文件
driverName=com.microsoft.sqlserver.jdbc.SQLServerDriver
url=jdbc:sqlserver://localhost:1433;DatabaseName=books
user=sa
password=123
//读取*.properties文件的类
import java.io.InputStream;
import java.util.Properties;
public final class Env extends Properties {
private static Env instance;
public static Env getInstance(){
if(instance != null){
return instance;
}else{
makeInstance();
return instance;
}
}
//synchronized 同步方法,保证同一时间只能被一个用户调用
private static synchronized void makeInstance(){
if(instance == null){
instance = new Env();
}
}
private Env(){
InputStream is =getClass().getResourceAsStream("db.properties");//配置文件位置
try{
load(is);
}catch(Exception ex){
System.err.println("请确认读取的文件是否存在!");
}
}
//测试连接是否成功方法方法
public static void main(String[] args) {
System.out.println(getInstance().getProperty("driverName"));
}
}
注意类的调用:譬如String url = Env.getInstance().getProperties("url");就能得到相应
的字符窜
驱动driverName,用户user, 密码password获取方式同上
==========================================================
三、读取xml文件中的节点
首先报连接池包3个和1个数据库驱动包复制到工程下WEB-INF/lib中
1、工程下的web.xml要添加以下节点:
[xhtml] view plaincopyprint?
<context-param>
<param-name>driverName</param-name>
<param-value>com.microsoft.sqlserver.jdbc.SQLServerDriver</param-value>
</context-param>
<context-param>
<param-name>url</param-name>
<param-value>jdbc:sqlserver://localhost:1433;DatabaseName=bbs</param-value>
</context-param>
<context-param>
<param-name>userName</param-name>
<param-value>sa</param-value>
</context-param>
<context-param>
<param-name>passWord</param-name>
<param-value>123</param-value>
</context-param>
[xhtml] view plaincopyprint?
<context-param>
<param-name>driverName</param-name>
<param-value>com.microsoft.sqlserver.jdbc.SQLServerDriver</param-value>
</context-param>
<context-param>
<param-name>url</param-name>
<param-value>jdbc:sqlserver://localhost:1433;DatabaseName=bbs</param-value>
</context-param>
<context-param>
<param-name>userName</param-name>
<param-value>sa</param-value>
</context-param>
<context-param>
<param-name>passWord</param-name>
<param-value>123</param-value>
</context-param>
2、新建一个普通类继承HttpServlet类,并实现ServletContextListener监听接口,如下:
[c-sharp] view plaincopyprint?
import java.sql.Connection;
import java.sql.ResultSet;
import javax.servlet.ServletContext;
import javax.servlet.ServletContextEvent;
import javax.servlet.ServletContextListener;
import javax.servlet.http.HttpServlet;
public class ContextListener extends HttpServlet implements ServletContextListener {
/**
* 销毁servlet
*/
public void contextDestroyed(ServletContextEvent sc) {
}
/**
* 初始化
*/
public void contextInitialized(ServletContextEvent sc) {
System.out.println("开启服务:");
ServletContext servletContext = sc.getServletContext();
String driverName = servletContext.getInitParamete("driverName");
String url = servletContext.getInitParameter("url");
String userName = servletContext.getInitParameter("userName");
String passWord = servletContext.getInitParameter("passWord");
BaseDAO.setDriverName(driverName);
BaseDAO.setUrl(url);
BaseDAO.setUser(userName);
BaseDAO.setPassword(passWord);
}
}
[c-sharp] view plaincopyprint?
import java.sql.Connection;
import java.sql.ResultSet;
import javax.servlet.ServletContext;
import javax.servlet.ServletContextEvent;
import javax.servlet.ServletContextListener;
import javax.servlet.http.HttpServlet;
public class ContextListener extends HttpServlet implements ServletContextListener {
/**
* 销毁servlet
*/
public void contextDestroyed(ServletContextEvent sc) {
}
/**
* 初始化
*/
public void contextInitialized(ServletContextEvent sc) {
System.out.println("开启服务:");
ServletContext servletContext = sc.getServletContext();
String driverName = servletContext.getInitParamete("driverName");
String url = servletContext.getInitParameter("url");
String userName = servletContext.getInitParameter("userName");
String passWord = servletContext.getInitParameter("passWord");
BaseDAO.setDriverName(driverName);
BaseDAO.setUrl(url);
BaseDAO.setUser(userName);
BaseDAO.setPassword(passWord);
}
}
3、在公共类BaseDao中
[java] view plaincopyprint?
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import javax.naming.Context;
import javax.naming.InitialContext;
import javax.naming.NamingException;
import javax.sql.DataSource;
import org.apache.commons.dbcp.BasicDataSource; //连接池要到包
/*
* 获取数据库连接
*/
public class BaseDAO {
private static Connection con;
private static String driverName;
private static String url;
private static String userName;
private static String passWord;
//获取连接对象Connection
public static Connection getConnection(){
BasicDataSource dataSource = new BasicDataSource();
dataSource.setDriverClassName(driverName);
dataSource.setUrl(url);
dataSource.setUsername(userName);
dataSource.setPassword(passWord);
try{
con = dataSource.getConnection();
} catch(SQLException ex) {
ex.printStackTrace();
}
return con;
}
/*
* 配置:从web.xml
*/
//驱动名称
public static String getDriverName() {
return getDriverName();
}
public static void setDriverName(String driverName) {
BaseDAO.driverName = driverName;
}
//URL
public static String getUrl(){
return getUrl();
}
public static void setUrl(String url) {
BaseDAO.url = url;
}
//用户名
public static String getUser(){
return getUser();
}
public static void setUser(String userName) {
BaseDAO.userName = userName;
}
//密码
public static String getPassWord(){
return getPassWord();
}
public static void setPassword(String passWord) {
BaseDAO.passWord = passWord;
}
}
[java] view plaincopyprint?
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import javax.naming.Context;
import javax.naming.InitialContext;
import javax.naming.NamingException;
import javax.sql.DataSource;
import org.apache.commons.dbcp.BasicDataSource; //连接池要到包
/*
* 获取数据库连接
*/
public class BaseDAO {
private static Connection con;
private static String driverName;
private static String url;
private static String userName;
private static String passWord;
//获取连接对象Connection
public static Connection getConnection(){
BasicDataSource dataSource = new BasicDataSource();
dataSource.setDriverClassName(driverName);
dataSource.setUrl(url);
dataSource.setUsername(userName);
dataSource.setPassword(passWord);
try{
con = dataSource.getConnection();
} catch(SQLException ex) {
ex.printStackTrace();
}
return con;
}
/*
* 配置:从web.xml
*/
//驱动名称
public static String getDriverName() {
return getDriverName();
}
public static void setDriverName(String driverName) {
BaseDAO.driverName = driverName;
}
//URL
public static String getUrl(){
return getUrl();
}
public static void setUrl(String url) {
BaseDAO.url = url;
}
//用户名
public static String getUser(){
return getUser();
}
public static void setUser(String userName) {
BaseDAO.userName = userName;
}
//密码
public static String getPassWord(){
return getPassWord();
}
public static void setPassword(String passWord) {
BaseDAO.passWord = passWord;
}
}
二、怎样用java(j2ee)连接oracle数据库?
以下是最基本使用情况,仅供参考:
package com;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
/**
* 定义数据类 连接数据库 且查询信息
* @author BR
* @date 2015-08-13
* @version 1.o
*/
public class dataBase {
public static void main(String[] args) {
Connection connection=null;
try {
//加载驱动
Class.forName("oracle.jdbc.driver.OracleDriver");
//获取数据库连接
connection=DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521:orcl", "scott", "scott");
//查询语句
String sql="select*from dept";
//创建Statement对象
Statement statement=connection.createStatement();
ResultSet rSet=statement.executeQuery(sql);
//判断查询的结果集是否为空
if(rSet!=null){
while(rSet.next()){
int num=rSet.getInt("deptNo");
String name=rSet.getString("dName");
String loc=rSet.getString(3);
System.out.println(num+"\t"+name+"\t"+loc);
}
}
//关闭资源
rSet.close();
statement.close();
connection.close();
} catch (ClassNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
三、j2ee三大框架怎么选?
J2EE三大框架之间的选择主要取决于项目的特定需求。如果需要快速应对市场变化,则可以选择Spring框架进行快速开发。
Hibernate框架则是一个功能强大的ORM框架,可实现数据库访问和数据映射。
Struts框架是一个Web应用框架,可用于搭建动态Web应用程序。
四、j2ee接口?
j2ee的web工程开发中,接口的意思是两个不同的j2ee的web工程,A和B,A工程如果要访问B工程中的某个函数方法,这就要通过接口的形式进行访问,即通过webservice的方式(如webservice的框架axis等)。即发起一个http url请求,传入参数是什么,得到什么返回结果。
五、什么叫J2EE?
J2EE(Java 2 Enterprise Edition)是建立在Java 2平台上的企业级应用的解决方案。J2EE技术的基础便是Java 2平台,不但有J2SE平台的所有功能,同时还提供了对EJB,Servlet,JSP,XML等技术的全面支持,其最终目标是成为一个支持企业级应用开发的体系结构,简化企业解决方案的开发,部署和管理等复杂问题。事实上,J2EE已经成为企业级开发的工业标准和首选平台。J2EE并非一个产品,而是一系列的标准。市场上可以看到很多实现了J2EE的产品,如BEA WebLogic,IBM WebSphere以及开源的JBoss等等。 J2EE,是Sun公司提出的一个标准,符合这个标准的产品叫"实现";其中下载的Sun公司的j2ee开发包中就有一个这样的"实现",而jboss,weblogic,websphere都是j2ee标准的一个"实现"。由于jboss,weblogic,websphere自身带有j2ee的api,所以可以不使用sun的j2ee实现。
六、j2ee技术原理?
原理如下
J2EE技术原理目的是为了克服传统Client/Server模式的弊病,迎合Browser/Server架构的潮流,为应用Java技术开发服务器端应用提供一个平台独立的、可移植的、多用户的、安全的和基于标准的企业级平台,从而简化企业应用的开发、管理和部署。J2EE是一个标准,而不是一个现成的产品。各个平台开发商按照J2EE规范分别开发了不同的J2EE应用服务器,J2EE应用服务器是J2EE企业级应用的部署平台。由于它们都遵循了J2EE规范,因此,使用J2EE技术开发的企业级应用可以部署在各种J2EE应用服务器上。
七、j2ee json
Java企业版开发中的JSON应用
在Java企业版(J2EE)开发中,JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,广泛应用于前后端数据传输和存储。本文将探讨在J2EE开发中对JSON的应用及相关实践。
JSON概述
JSON是一种用于数据交换的文本格式,易于阅读和编写。它由键值对构成,支持数组和嵌套对象。作为一种轻量级的数据交换格式,JSON在Web开发中得到了广泛应用。在J2EE开发中,开发人员经常使用JSON来传输和解析数据,将Java对象转换为JSON格式并在前端页面中进行展示。
J2EE中的JSON应用
在J2EE开发中,开发人员通常会将Java对象转换为JSON格式,以便在前后端之间传输数据。可以使用开源库如Jackson或Gson来实现Java对象与JSON字符串之间的转换。
实践示例
以下是一个简单的示例,演示了如何在J2EE应用中将Java对象转换为JSON格式:
// Java对象 public class User { private String username; private int age; // 省略构造函数和Getter/Setter方法 } // 转换为JSON User user = new User("Alice", 25); ObjectMapper objectMapper = new ObjectMapper(); String json = objectMapper.writeValueAsString(user);在前端页面中展示JSON数据
在前端页面中展示JSON数据通常需要将JSON字符串解析为JavaScript对象,然后使用JavaScript来操作和展示数据。以下是一个简单的示例,展示了如何在前端页面中展示来自J2EE后端的JSON数据:
// 从后端获取JSON数据 fetch('e.com/data') .then(response => response.json()) .then(data => { // 处理数据 console.log(data); });
JSON数据交互
在J2EE开发中,JSON数据交互是非常常见的场景。开发人员可以通过Ajax请求将数据发送到后端,后端接收并处理数据,然后将处理结果以JSON格式返回给前端。这种数据交互方式可以实现前后端的解耦,提高系统的灵活性和扩展性。
总结
本文介绍了在J2EE开发中对JSON的应用及相关实践。通过将Java对象转换为JSON格式,前后端数据交互更加高效便捷。在实际开发中,开发人员可以根据项目需求选择合适的JSON库,实现数据的序列化和反序列化。JSON作为一种简洁且通用的数据格式,为J2EE开发带来了便利,也促进了前后端数据交互的效率和稳定性。
八、J2EE过时了吗?
J2EE(Java 2 Enterprise Edition)并没有过时。它仍然是一种广泛使用的企业级应用开发技术。J2EE 平台提供了一组 API,用于开发基于 Java 的企业级应用程序,包括 Web 应用程序、EJB 应用程序和集成现有企业业务逻辑的应用程序。虽然近年来出现了许多新的 Java 开发框架和技术,如 Spring、Hibernate、Struts 等,但 J2EE 仍然是一种成熟且可靠的企业级应用开发技术。许多企业和组织仍然使用 J2EE 平台来开发他们的关键业务应用程序。此外,J2EE 平台还具有跨平台的优势,可以在不同的操作系统和硬件平台上运行,这使得它成为一种灵活且可扩展的应用开发技术。因此,虽然 J2EE 已经存在了很长时间,但它仍然是一种重要的企业级应用开发技术,具有广泛的应用前景。
九、j2ee技术的优点?
J2EE是一套全然不同于传统应用开发的技术架构,包含许多组件,主要可简化且规范应用系统的开发与部署,进而提高可移植性、安全与再用价值。
J2EE核心是一组技术规范与指南,其中所包含的各类组件、服务架构及技术层次,均有共同的标准及规格,让各种依循J2EE架构的不同平台之间,存在良好的兼容性,解决过去企业后端使用的信息产品彼此之间无法兼容,企业内部或外部难以互通的窘境。
十、j2ee官方文档
欢迎来到本篇博客文章,本文将深入介绍J2EE官方文档以及其对于软件开发人员的重要性和价值。作为开发人员,了解J2EE官方文档并学会如何使用它,将对你的开发工作和职业发展产生积极影响。
什么是J2EE官方文档?
J2EE(Java 2 Platform, Enterprise Edition)是一种用于构建企业级Java应用程序的平台。J2EE官方文档是由Oracle公司提供的详细文档集合,旨在帮助开发人员深入了解J2EE平台的各个方面。它包含了J2EE的核心技术、标准规范、最佳实践和示例代码等,几乎涵盖了所有你在开发J2EE应用程序过程中可能需要的信息和资源。
重要性和价值
J2EE官方文档对于软件开发人员来说具有重要的价值:
- 全面性:J2EE官方文档提供了全面的文档资源,详细解释了J2EE平台的每个方面以及如何使用J2EE技术来构建企业级应用程序。
- 标准参考:J2EE官方文档提供了J2EE平台的标准规范和最佳实践,使开发人员能够按照统一的标准进行开发,确保应用程序的可移植性和一致性。
- 示例与代码:J2EE官方文档中包含大量的示例代码,可以帮助开发人员理解如何正确地使用J2EE技术和API。这些示例代码可以作为学习和参考的基础。
- 问题解决:J2EE官方文档中提供了常见问题的解答和解决方案,当你在开发过程中遇到问题时,可以通过官方文档来找到解决方案。
- 更新和演进:J2EE官方文档随着J2EE平台的发展而不断更新和演进,保持与最新版本的J2EE技术和规范同步。
- 认证考试:如果你计划参加J2EE相关的认证考试,熟悉J2EE官方文档将会是你备考的有力工具。
如何使用J2EE官方文档
下面是一些使用J2EE官方文档的建议和技巧:
- 开始学习J2EE官方文档之前,先确保你已经熟悉Java编程语言以及基本的面向对象编程概念。
- 浏览官方文档的目录结构,了解各个部分的内容和层次。
- 根据你的需求和学习进度,选择合适的部分和章节进行阅读和学习。
- 阅读文档时,结合实际的示例代码进行理解和实践。尝试编写自己的代码,并通过官方文档进行验证和调试。
- 在遇到问题或困惑时,及时查阅官方文档中的相关章节和问题解答部分。
- 参考官方文档中的最佳实践和推荐,将其应用到你的实际项目开发中。
- 关注官方的更新和发布,及时获取最新的J2EE技术和规范。
其他学习资源
J2EE官方文档是学习J2EE开发的重要资源之一,但也可以结合其他学习资源来提升你的技能和知识:
- 书籍:有很多经典的J2EE开发书籍可以供你参考。可以选择一本适合你学习水平和需求的书籍,并阅读其中的章节和示例代码。
- 网上教程和博客:有很多优质的J2EE教程和博客可以参考,其中包含了很多实际项目的案例和经验分享。
- 社区和论坛:参加J2EE开发者社区和论坛,与其他开发人员进行交流和讨论,分享你的问题和经验。
- 实践项目:参与实际的J2EE项目开发,通过实践来提升你的技能和经验。
总结
J2EE官方文档是学习和了解J2EE平台的重要资源。熟练掌握J2EE官方文档中的技术和规范,将使你成为一名优秀的J2EE开发人员,并提升你在职场上的竞争力。希望本篇博客文章能够帮助你更好地使用J2EE官方文档,并在J2EE开发领域取得更大的成功!