Pasos detallados de conexión de Java con puntuación alta a SQL Server 2000
Pruébelo,
Acceso a Oracle, SqlServer, DB2, Informix, Acceso a base de datos en JSP
2007-1-13
Acceso Oracle, SqlServer, DB2, Informix, base de datos Access en JSP
Muchos internautas que son nuevos en JSP a menudo preguntan cómo conectarse a la base de datos, ¿por qué siguen cometiendo errores? Así que me concentré en escribir un artículo aquí para su referencia. De hecho, poner toda la lógica de la base de datos en jsp no es necesariamente una buena práctica, pero es útil para que los principiantes aprendan, así que lo hice cuando todos aprenden hasta cierto punto. Al desarrollar, puede considerar utilizar el modelo MVC para el desarrollo. Al practicar estos códigos, debe colocar el controlador jdbc en la ruta de clase del servidor y luego crear una tabla de prueba en la base de datos. Hay dos campos, como test1 y test2. Puede usar el siguiente SQL para crear una tabla de prueba (test1. varchar(20), test2 varchar(20) y luego escriba un registro de prueba en esta tabla, así que ahora comencemos nuestro viaje con jsp y base de datos.
1. JSP se conecta a la base de datos Oracle8/8i/9i (usando el modo ligero)
testoracle.jsp es el siguiente:
<%@ page contentType= "text/ html; charset=gb2312"%>
<%@ página import="java.sql.*"%>
<%Class.forName("oracle.jdbc.driver.OracleDriver").newInstance()
String url="jdbc:oracle:thin:@localhost; :1521: orcl";
//orcl es el SID de su base de datos
String user="scott";
String contraseña="tiger";
Conexión de conexión= DriverManager.getConnection(url, usuario, contraseña)
Declaración stmt=conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE, ResultSet.CONCUR_UPDATABLE
String sql ="seleccionar * de prueba";
ResultSet rs=stmt.executeQuery(sql
while(rs.next()) {%>
El contenido de su primer campo es: <%=rs.getString(1)%>
El contenido de su segundo campo es: <%=rs.getString(2)%> p >
<%}%>
<%out.print("La operación de la base de datos fue exitosa, felicitaciones");
stmt.close();
conn.close();
%>
</cuerpo>
</html>
2. jsp se conecta a la base de datos Sql Server7.0/2000
testsqlserver.jsp es el siguiente:
<%@ página contentType=" text/html; charset=gb2312"%>
<%@ página import="java.sql.*"%>
< cuerpo>
<%Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver").newInstance()
String url="jdbc:microsoft" :sqlserver:/ /localhost: 1433; DatabaseName=pubs";
//pubs es la
String user="sa" de su base de datos;
String contraseña =" ";
Conexión de conexión= DriverManager.getConnec
tion(url, usuario, contraseña);
Declaración stmt=conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE, ResultSet.CONCUR_UPDATABLE
String sql="select * from test"; /p>
ResultSet rs=stmt.executeQuery(sql);
while(rs.next()) {%>
El contenido de su primer campo es: <%= rs.getString(1)%>
El contenido de su segundo campo es: <%=rs.getString(2)%>
<%}%>
<%out.print("La operación de la base de datos fue exitosa, felicitaciones");%>
<%rs.close()
stmt.close (); >
conn.close();
%>
</body>
</html>
3. La conexión jsp a la base de datos DB2
testdb2.jsp es la siguiente:
<%@ page contentType="text/html; charset=gb2312"%>
<%@ página import="java.sql.*"%>
<%Class.forName ("com .ibm.db2.jdbc.app.DB2Driver ").newInstance();
String url="jdbc:db2://localhost:5000/sample";
// la muestra es el nombre de su base de datos
String user="admin"
String contraseña=""
Connection conn= DriverManager.getConnection( url, usuario, contraseña
Declaración stmt=conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,
ResultSet.CONCUR_UPDATABLE
String sql="select * from test";
ResultSet rs=stmt.executeQuery(sql);
while(rs.next()) {%>
Tu primero El contenido del primer campo es: <%=rs.getString(1)%>
El contenido de su segundo campo es: <%=rs.getString(2)%>
<%}% >
<%out.print("La operación de la base de datos fue exitosa, felicitaciones"); %>
<%rs.close(); cerrar();
conn.close();
%>
</cuerpo>
</ html> p>
4. jsp se conecta a la base de datos Informix <
/p>
testinformix.jsp es el siguiente:
<%@ page contentType="text/html; charset=gb2312"%>
<%@ page import= "java .sql.*"%>
<%Class.forName("com.informix.jdbc.IfxDriver ") .newInstance();
String url =
"jdbc: informix-sqli://123.45.67.89:1533/testDB: INFORMIXSERVER=myserver
<; p> usuario=testuser; contraseña=testpassword";//testDB es el nombre de su base de datos
Connection conn= DriverManager.getConnection(url);
Declaración stmt =conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE, ResultSet.CONCUR_UPDATABLE);
String sql="seleccionar * de prueba"
ResultSet rs=stmt.executeQuery(sql); /p>
String sql="seleccionar * de prueba";
ResultSet rs=stmt.executeQuery(sql); p>
while(rs.next()) {%>
El contenido de su primer campo es: <%=rs.getString(1)%>
El contenido de su segundo campo es: <%=rs.getString(2)%>
<%}%>
<%out.print("Operación de la base de datos exitosa, Felicitaciones");%>
<%rs.close(); p>
stmt.close();
conn.close();
conn.close()
stmt.close(); p>
%>
</body>
</html>
5. Conexión jsp a la base de datos de Access
< %@page import="java.sql.*"
importar ="java.util.*"
importar ="java.io.*"
import="java.text.*"
contentType="text/html; charset=gb2312"
buffer="20kb"
%> < %! int all, i, m_count;
Cadena odbcQuery;
Conexión odbccann;
Declaración odbcstmt
ResultSet odbcrs;
Cadena nombre de usuario, título, contenido, trabajo, correo electrónico, url, hora, fecha
Cadena fechahora
%>
; < %
prueba{
Class.forName("sun.jdbc.odbc.JdbcO
dbcDriver");
}catch (ClassNotFoundException e)
{ out.print ("El controlador no existe");
}
try{
odbcconn = DriverManager.getConnection("jdbc:odbc:db1");
odbcstmt = odbcconn.createStatement();
odbcQuery= "Seleccionar * Del libro donde fecha y hora>2001-4-26 Ordenar por fecha y hora DESC"
odbcrs=odbcstmt.executeQuery(odbcQuery
int i=0
mientras (i<130) odbcrs.next();
mientras (odbcrs.next())
{
//*/ //////////////////////////Mostrar el contenido de la base de datos para depurar el programa //
int ii; p>
try{
try{
for (ii=1;;ii)
out.print ("
Cloumn " ii " es : " odbcrs.getString(ii));
}catch (NullPointerException e) {
out.print ("puntero nulo"); }
}catch (SQLException e){
}
}
odbcrs.close()
odbcstmt.close();
odbcconn.close();
}catch (SQLException e)
{ out.print (e); p>
} p>
}
%>
Ver(24) Comentario(0)
Inicio rápido de Hibernar
2006-11-10
De hecho, Hibernate en sí es un marco independiente que no requiere el soporte de ningún servidor web o servidor de aplicaciones. Sin embargo, la mayoría de las introducciones a Hibernate incluyen muchas cosas que no son de Hibernate, como: Tomcat, Eclipse, Log4J, Struts, XDoclet e incluso JBoss. Esto puede llevar fácilmente a malentendidos de que Hibernate es complejo y difícil de entender, lo que frena especialmente el entusiasmo de los principiantes.
Eclipse, log4j, Struts, Tomcat, XDoclet y JBoss no se tratarán en este artículo. El propósito de este artículo es demostrar el proceso de instalación y las funciones más básicas de Hibernate, para brindar a los principiantes una barrera de entrada extremadamente baja.
Descargue el archivo
Necesita Java SDK, paquete Hibernate, paquete Ant y controlador JDBC.
1. Dirección de descarga del paquete Hibernate:
/software/htdocs/jdbc9201.html
Dirección de descarga del controlador MySQL JDBC
/downloads/connector/j/3.0.html
Dirección de descarga del controlador PostgreSQL JDBC
/downloa... bf71amp; displaylang=en
4. Extraiga el paquete Hibernate y el paquete Ant a c:dev respectivamente (este directorio no es importante, puede cambiarlo a cualquier otro directorio).
Configurar el entorno
1. Debe agregar una nueva variable de entorno: ANT_HOME, dejar que apunte al directorio donde se encuentra el paquete ANT en c:devlt; a la variable de entorno PATH ANT_HOMEin.
2. Necesita agregar una nueva variable de entorno: JAVA_HOME, déjela que apunte a su directorio raíz j2sdk. Y agregue JAVA_HOMEin a la variable de entorno PATH.
3. Cree un directorio de proyecto, como c: workspaceMy1stHibernate.
En el directorio del proyecto, cree tres directorios adicionales: src, clases, lib.
En el directorio lib, cree dos directorios: hibernate y db.
Entonces tienes la siguiente estructura de archivos:
c: workspaceMy1stHibernate
c: workspaceMy1stHibernatesrc
c: workspaceMy1stHibernateclasses
c: workspaceMy1stHibernatelib
c: workspaceMy1stHibernatelibhibernate
c: workspaceMy1stHibernatelibdb
4. Cambie el directorio donde se encuentra el paquete Hibernate de c: devlt; jar Copie el archivo en c:workspaceMy1stHibernatelibhibernate.
Copie todos los archivos en el directorio gt;lib donde se encuentra el paquete Hibernate en c:devlt; a c:workspaceMy1stHibernatelibhibernate.
Copie su archivo del controlador JDBC (normalmente un archivo jar) en c:workspaceMy1stHibernatelibdb.
Crea una base de datos
1. Utiliza tu software de base de datos favorito para crear una base de datos hibernate_test.
2. En esta base de datos, cree una nueva tabla llamada CLIENTE
CREATE TABLE CLIENTE
(
CID INTEGER NOT NULL PRIMARY KEY , NOMBRE DE USUARIO VARCHAR(12) NOT NULL, CONTRASEÑA VARCHAR(12)
);
Escribir archivo Java
cliente de clase pública {
ID int privado;
nombre de usuario de cadena privada;
contraseña de cadena privada;
public int getId() {
ID de retorno;
}
public String getPassword() {
devolver contraseña;
}
public String getUsername ( ) {
return nombre de usuario;
}
public void setId(int id) {
this.id = id;
p>}
public void setPassword(String contraseña) {
this.password = contraseña
}
public; void setUsername(String nombre de usuario) {
this.username = nombre de usuario
}
}
Guarde esta clase como c :workspaceMy1stHibernatesrcCustomer Archivo .java.
Escribir clase de prueba
importar net.sf.hibernate.*;
importar net.sf.hibernate.cfg.*;
prueba de clase pública {
public static void main(String[] args) {
prueba {
SessionFactory sf = nueva Configuración().configure() .buildSessionFactory();
Sesión de sesión = sf.openSession();
Transacción tx = session.beginTransaction();
for (int i = 0 ; i lt; 200; i ) {
Cliente cliente = nuevo Cliente();
custoā?mer.setUsername("cliente" i);
cliente.setPassword("cliente");
sesión.save(cliente);
}
tx.commit();
sesión.close();
} captura (HibernateException e) {
e.printStackTrace()
}
}
}
Guarde esta clase como archivo c:workspaceMy1stHibernatesrcTest.java.
Crear archivo de mapeo de Hibernate
Debido a que solo hay una Clase --- Cliente y una Tabla --- CLIENTE, solo necesita crear un archivo de mapeo --- Cliente.hbm .xml, para corresponder a la relación entre la clase Cliente y la tabla CLIENTE.
lt;xml version="1.0"?gt;
lt;DOCTYPE hibernate-mapping PUBLIC
"-//Hibernate/Hibernate Mapping DTD// ES"
"pila los archivos fuente"gt;
lt; avac classpathref="myclasspath" srcdir="${src.dir}" destdir="${build.dir }" /gt;
lt;opy todir="${build.dir}" gt;
lt;ileset dir="${src.dir}" gt;
ā?lt;xclude name="**/*.java"/gt;
lt;filesetgt;
lt;copygt;
lt; targetgt;
lt; nombre de destino="run" depende="build"gt;
lt;ava classpathref="myclasspath" classname="Prueba" fork ="verdadero" /gt;
lt; destinogt;
lt; nombre de destino="limpio"
lt; gt;
lt;ileset dir="${build.dir}" /gt;
lt;deletegt;
lt;targetgt;
lt;projectgt;
Configurar el archivo de descripción de Hibernate
El archivo de descripción de Hibernate puede ser un archivo de propiedades o xml, el más importante de los cuales es definir la conexión de la base de datos. Lo que enumero aquí es un archivo de descripción hibernate.cfg.xml en formato XML.
lt;xml version="1.0" encoding="utf-8" ?gt;
lt;DOCTYPE configuración-hibernación
PUBLIC "-// Hibernar/Configuración de Hibernación DTD//EN"
" y eBay) Sin embargo, con el poder de la Web viene la espera, la espera de que el servidor responda, la espera de que la pantalla se actualice, la espera de que la solicitud regresar y generar una nueva página.
Obviamente esto es una simplificación excesiva, pero el concepto básico es este. Como habrás adivinado, Ajax intenta establecer funcionalidad e interactividad entre las aplicaciones de escritorio y las aplicaciones web continuamente actualizadas. Bridge Puede utilizar interfaces de usuario dinámicas y controles atractivos como los que se encuentran en las aplicaciones de escritorio, pero en una aplicación web.
¿Qué estás esperando? una aplicación Ajax responsiva
Tecnología antigua, trucos nuevos
Cuando se trata de Ajax, en realidad hay múltiples tecnologías involucradas y es necesario poder usarlas de manera flexible. Obtenga más información al respecto. Estas diferentes tecnologías (los primeros artículos de esta serie analizarán cada una de ellas por separado). La buena noticia es que probablemente ya esté muy familiarizado con la mayoría de ellas. Aún mejor, estas tecnologías son fáciles de aprender y no están completas. lenguajes como Java o Ruby.
Definición de Ajax
Por cierto, Ajax es la abreviatura de JavaScript asíncrono y XML (y DHTML, etc.). La frase fue acuñada por Jesse James Garrett de Adaptive Path (ver Temas relacionados) y, como explica Jesse, no es un acrónimo.
Las siguientes son las tecnologías básicas utilizadas en las aplicaciones Ajax:
HTML se utiliza para crear formularios web y determinar los campos utilizados por otras partes de la aplicación.
El código JavaScript es el código central que ejecuta las aplicaciones Ajax y ayuda a mejorar la comunicación con las aplicaciones del servidor.
DHTML o HTML dinámico para actualizar formularios dinámicamente. Marcaremos HTML usando divs, spans y otros elementos HTML dinámicos.
El modelo de objetos de documento DOM se utiliza para procesar (a través de código JavaScript) la estructura de HTML y (en algunos casos) el XML devuelto por el servidor.
Analicemos más a fondo las responsabilidades de estas tecnologías. Hablaré de estas tecnologías en profundidad en artículos futuros, pero por ahora sólo familiarícese con los componentes y las tecnologías. Cuanto más familiarizado esté con el código, más fácil será pasar de una comprensión vaga de estas tecnologías a una comprensión real de ellas (y también abrir verdaderamente la puerta al desarrollo de aplicaciones web).
El objeto XMLHttpRequest
El único objeto que debe conocer también puede ser el más desconocido para usted: XMLHttpRequest. Este es un objeto JavaScript que es fácil de crear, como se muestra en el Listado 1.
Listado 1. Creando un nuevo objeto XMLHttpRequest
lt;script language="javascript" type="text/javascript"gt;
var xmlHttp = new XMLHttpRequest();
lt;/scriptgt;
Discutiremos este objeto más a fondo en el próximo artículo, pero por ahora sepa que este es el objeto que maneja todas las comunicaciones del servidor. Antes de seguir leyendo, detente y piensa en esto: la tecnología JavaScript es la que se comunica con el servidor a través del objeto XMLHttpRequest. Este no es un flujo de aplicaciones ordinario, y de aquí proviene el poder de Ajax.
En una aplicación web típica, el usuario completa los campos del formulario y hace clic en el botón Enviar. Luego, el formulario completo se envía al servidor, que lo reenvía a un script que maneja el formulario (generalmente PHP o Java, tal vez un proceso CGI o algo similar), que completa su ejecución antes de enviar una página nueva. La página puede ser HTML con un nuevo formulario ya completado con algunos datos, puede ser una página de confirmación o puede ser una página con algunas opciones seleccionadas según los datos ingresados en el formulario original. Por supuesto, el usuario debe esperar mientras el script o programa en el servidor procesa y devuelve el nuevo formulario. La pantalla se queda en blanco y espera hasta que el servidor devuelva los datos antes de volver a dibujarlos. Esta es la razón por la cual la interactividad es pobre, el usuario no recibe retroalimentación inmediata, por lo que se siente diferente a una aplicación de escritorio.
Ajax básicamente coloca la tecnología JavaScript y el objeto XMLHttpRequest entre el formulario web y el servidor. Cuando el usuario completa el formulario, los datos se envían a algún código JavaScript en lugar de directamente al servidor. En cambio, el código JavaScript captura los datos del formulario y envía una solicitud al servidor. Al mismo tiempo, el formulario en la pantalla del usuario no parpadeará, desaparecerá ni se retrasará.
En otras palabras, el código JavaScript envía la solicitud entre bastidores sin que el usuario sepa siquiera que se está realizando la solicitud. Aún mejor, la solicitud se envía de forma asincrónica, lo que significa que el código JavaScript (y el usuario) no tienen que esperar una respuesta del servidor. Para que el usuario pueda continuar ingresando datos, desplazarse y usar la aplicación.
Luego, el servidor devuelve los datos al código JavaScript (aún en el formulario web), que decide qué hacer con los datos. Actualiza los datos del formulario rápidamente, dando la impresión de que la solicitud se completa instantáneamente, sin que el formulario se envíe o actualice y el usuario obtenga nuevos datos. El código JavaScript puede incluso realizar algunos cálculos sobre los datos recibidos y enviar otra solicitud, ¡todo sin la intervención del usuario! Este es el poder de XMLHttpRequest. Puede interactuar con el servidor por sí solo según sea necesario, y el usuario puede incluso ignorar por completo lo que sucede detrás de escena. El resultado es una experiencia dinámica, receptiva y altamente interactiva similar a una aplicación de escritorio, pero con todo el poder de Internet detrás.
Agregue algo de JavaScript
Después de dominar XMLHttpRequest, el resto del código JavaScript es muy simple. De hecho, usaremos código JavaScript para realizar tareas muy básicas:
Obtener datos de formulario: el código JavaScript puede extraer fácilmente datos de un formulario HTML y enviarlos al servidor.
Modificar datos en el formulario: Actualizar el formulario también es fácil, desde establecer valores de campos hasta reemplazar rápidamente imágenes.
Analizar HTML y XML: utilice código JavaScript para manipular el DOM (consulte la siguiente sección) y procesar la estructura de los datos XML devueltos por el servidor de formularios HTML.
Para los dos primeros puntos, es necesario estar muy familiarizado con el método getElementById(), como se muestra en el Listado 2.
Listado 2. Capturar y configurar valores de campo con código JavaScript
// Obtener el valor del campo "teléfono" y rellenarlo en una variable llamada teléfono
var phone = document.getElementById("phone").value;
// Establece algunos valores en un formulario usando una matriz llamada respuesta
document.getElementById( "order") .value = respuesta[0];
document.getElementById("address").value = respuesta[1];
No hay nada especial que destacar aquí, ¡es genial! Debes darte cuenta de que aquí no hay nada terriblemente complicado. Una vez que domine XMLHttpRequest, el resto de su aplicación Ajax es un código JavaScript simple, como se muestra en el Listado 2, mezclado con una pequeña cantidad de HTML. Además, usando un poco de DOM, echemos un vistazo.
Termina con DOM
Finalmente está DOM, el Modelo de Objetos de Documento. El DOM puede resultar un poco intimidante para algunos lectores. Los diseñadores de HTML rara vez lo utilizan, e incluso los programadores de JavaScript rara vez lo utilizan a menos que quieran completar una tarea de programación de alto nivel. Los programas complejos de Java y C/C hacen un uso intensivo del DOM, lo que puede explicar por qué se considera que el DOM es difícil de aprender.
Afortunadamente, trabajar con el DOM en tecnología JavaScript es fácil y muy intuitivo. Ahora bien, convencionalmente probablemente deberías explicar cómo usar el DOM, o al menos dar algún código de ejemplo, pero hacerlo también podría inducirte a error. Aún puedes profundizar en Ajax sin preocuparte por el DOM, y ese es el enfoque que voy a adoptar. Revisaremos el DOM en un artículo futuro, pero por ahora basta con saber que es posible que lo necesites. Profundizamos en el DOM cuando se trata de pasar XML y cambiar formularios HTML entre el código JavaScript y el servidor. Puedes hacer algún trabajo interesante sin él, así que deja el DOM a un lado por ahora.
Volver al inicio
Obtener el objeto Solicitud
Con los conocimientos básicos anteriores, veamos algunos ejemplos específicos. XMLHttpRequest está en el corazón de las aplicaciones Ajax y puede resultar desconocido para muchos lectores, así que comencemos por ahí. Como puede ver en el Listado 1, crear y usar este objeto es bastante simple, ¿no es así? Esperar.
¿Recuerdas aquellas desagradables guerras de navegadores de hace unos años? Nada da los mismos resultados en diferentes navegadores. Lo creas o no, estas guerras todavía continúan, aunque en menor escala. Pero, curiosamente, XMLHttpRequest se convirtió en una de las víctimas de esta guerra. Por lo tanto, obtener un objeto XMLHttpRequest puede requerir un enfoque diferente. Lo explicaré en detalle a continuación.
Uso del micrófono