WebLogic下JSP连接数据库

js|web|连接数据库

WebLogic下JSP连接数据库
 草木瓜 2006-5-26

一、前言

    JSP开发,一般来说需要前端开发工具和后台服务。WebLogic是集成了工具和服务的大型系统。
    需要重视的是,BEA公司的WebLogic最低要求配置内存512M,即使对服务器参数文件做优化,
    仍然不能根本解决问题。
   
二、安装配置WebLogic

    Windows安装没什么好说的。
    安装后,WebLogic自动建了三个服务器(workshop,integration,portal),用户可以选择,不爽的
    也可以自行创建,创建方面的内容《WebLogic Domain 配置方法》一文已有非常详尽的讲述。简单的
    方法是从模板选所择,这里选择 工具->WebLogic Server->配置向导 的basic weblogic workshop
    domain模板。
   
三、新建应用程序,添加Web项目,

    域服务器创建好了,选择 文件->新建->应用程序,选择服务嚣,选择应用程序,完成创建。在所建
    应用程序里添加Web项目。
   
   
四、Web应用

    添加数据库Web应用。在Web项目里,添加Jsp文件和Java Class。本例使用index.jsp,error.jsp,
    clsdb.java,db.properties四个文件。
   
    目录结构如下:
   
    应用程序名\Web项目名\WEB-INF\...
    应用程序名\Web项目名\index.jsp
    应用程序名\Web项目名\error.jsp  
    应用程序名\Web项目名\db.properties  
    应用程序名\Web项目名\javacls\clsdb.java  
   
    index.jsp  起始页面,数据浏览
    --------------------------------------------------
   
    <body>
    <%
           javacls.clsDb db=new javacls.clsDb();
           boolean i;
           i=db.openConnection();
           if(i=true)
           {
               java.sql.ResultSet rs=db.exeQuery("select d from test");
               rs.next(); 
               while(!rs.isAfterLast())
               {    
                out.println(rs.getObject(1));
                rs.next();
                }
            }
               
      %>
      </body>
   
    error.jsp  错误显示页面
    --------------------------------------------------
 
    <p>
      发生错误
      <br>
      错误描述:
      <%=exception.toString()%>
      <br>
      错误原因:
      <%=exception.getMessage()%>
    </p>
   
    clsdb.java 数据库操作类,非常典型的数据库应用方法
    --------------------------------------------------

package javabean;

public class clsDb
{
    java.sql.Connection cn=null;
    java.sql.Statement sqlstm=null;
    java.sql.ResultSet rs=null;
   
    public clsDb()
    {}
   
    //打开数据库连接
    public boolean openConnection()
    {
       
        //读取设置
        java.util.Properties prop=new java.util.Properties();
        try
        {
            java.io.InputStream in=this.getClass().getResourceAsStream("../db.properties");
            prop.load(in);
            if(in!=null)in.close(); 
        }
        catch(java.io.IOException e)
        {
            System.out.println("[OpenCn] 配置文件打开错误! ");
            return false;
        }

        String jdbc=prop.getProperty("drivers");
        String url=prop.getProperty("url");
        String user=prop.getProperty("user");
        String password=prop.getProperty("password");

        //加载JDBC
        try
        {
            Class.forName(jdbc);
        }
        catch(java.lang.ClassNotFoundException e)
        {
            System.out.println("[OpenCn] 装载JDBC驱动出错! ");
            return false;
        }
        //打开数据库连接
        try
        {       
            this.cn=java.sql.DriverManager.getConnection(url,user,password);
        }
        catch(Exception e)
        {
            e.printStackTrace();
            return false;
        }
       return true;
    }
   
    //执行查询
    public java.sql.ResultSet exeQuery(String _sqlstring)
    {
        try
        {
            this.sqlstm=this.cn.createStatement();
            this.rs=this.sqlstm.executeQuery(_sqlstring);
            return this.rs;
        }
        catch(Exception e)
        {
            e.printStackTrace();//此外用于打印错误堆栈
            return null;
        }
    }
   
    //执行更新
    public void exeNonQuery(String _sqlstring) throws java.sql.SQLException
    {
        this.sqlstm=this.cn.createStatement();
        this.sqlstm.executeUpdate(_sqlstring);
        if(this.sqlstm!=null)this.sqlstm.close();
    }
   
    //关闭对象
    public void close() throws java.sql.SQLException
    {
        if(this.rs!=null)this.rs.close();
        if(this.sqlstm!=null)this.sqlstm.close();
        if(this.cn!=null)this.cn.close();
    }
   
    protected void finalize() throws Throwable
    {
        this.close();
    }
   
}

    db.properties    数据库配置文件
    --------------------------------------------------
   
    drivers=oracle.jdbc.driver.OracleDriver
    url=jdbc:oracle:thin:@localhost:1521:wincn
    user=liwei
    password=liwei
   

五、重要补充说明:本篇文章别的都是废话,惟独这段不是!

    本例使用的jdbc驱动是oracle提供的,java只提供驱动的接口,具体必须由各数据库厂商来实现。如果
    环境变量等没有配置正确,找不到包,可以在 应用程序名\Web项目名\库 下添加驱动包。
    drivers=oracle.jdbc.driver.OracleDriver这个包的位置在E:\oracle\ora92\jdbc\lib\classes12.jar
    查看包的信息就知道,写成oracle.jdbc.OracleDriver也是可以的。
   
    url一项内容是数据库的具体对象,前面jdbc:oracle:thin表明是通过jdbc,而且是oracle提供的驱动包,
    thin是oracle的连接方式。下面@后面是主机名或主机地址+端口,最后一项是数据库实例名SID。
   
    注意:
   
    在调试过程中WebLogic会提示找不到类oracle.jdbc.dirver.OracleDriver的文件,这个提示完全是误报,
    是不是bug不得而知!不用理会继续执行!
   
    在连接中文字符集(ZHS16GBK)数据库不会出现乱码,如果连接英文字符集(US7ASCII)则会出现。解决方法
    是作些必要的转换。前提是客户端与服务嚣的字符集要一致。
   
    index.jsp 文件内容更改
   
    while(!rs.isAfterLast())
    {   
     String test=rs.getString(1);
     byte[] tempbyte=test.getBytes("ISO8859-1");  
     String temp=new String(tempbyte,"gb2312"); 
     out.println(temp);
     rs.next();
     }

时间: 2024-10-01 09:53:34

WebLogic下JSP连接数据库的相关文章

jsp连接数据库一直报错,求帮忙看下,谢谢

问题描述 jsp连接数据库一直报错,求帮忙看下,谢谢 <%@page language=""java"" import=""java.util.*"" pageEncoding=""utf-8""%><%@page import=""java.sql.*""%><html><body><% St

jsp连接数据库---Mysql

js|mysql|连接数据库 jsp连接数据库---Mysql 时间:2005-1-24操作系统:windows XP SP1 1.安装JDK 5.0 update 1 下载:http://java.sun.com/ 假设安装路径为 D:\Java\jdk1.5.0_01设置环境变量(控制面板->系统->高级)JAVA_HOME=D:\Java\jdk1.5.0_01classpath=.;D:\Java\jdk1.5.0_01\lib\dt.jar;D:\Java\jdk1.5.0_01\l

weblogic的jsp问题解决方法(转)

weblogic的jsp问题解决方法 在做项目的时候,jsp在运行的时候出现了一些问题,现将我的问题解决方法做一个小结,供以后作项目的参考.问题1:weblogic 的数据库连接数目在程序运行中不断增长,最后连接数目超过最大数,导致weblogic服务关闭原因:在操作完数据库后,没有关闭数据库连接:或者是返回结果集(Resultset),而无法在jsp中关闭数据库连接.解决方法:1. 在操作完数据库要关闭数据库连接.2. 尽量不要返回结果集Resultset, 可以返回Vector(一个字段).

图片-请问:用glassfish,jsp连接数据库,运行时出现错误如图,是什么原因?

问题描述 请问:用glassfish,jsp连接数据库,运行时出现错误如图,是什么原因? 解决方案 jsp 第2行 第77个字符处 解决方案二: jsp页面的第二行,有引用符号错误!

Linux下jsp环境:apache,tomcat配置

apache|js Linux下jsp开发环境,apache,tomcat服务器配置过程: (特别注明:本文内容均参考于互联网,经过个人实践而总结,若配置中遇到问题请联系我,可能写的时候漏掉了某些地方,感谢网上前辈的经验,希望更多的实践经验得以共享) 1.操作系统 RedHat Linux 9.0 2.所需软件 Apache 2.0.54 下载地址 http://apache.freelamp.com/httpd 下载该文件httpd-2.0.54.tar.gz Tomcat5.5.9 下载地址

代码-有没有人帮我讲解下jsp的程序呢?实在是看不懂,网上搜索也了解了点

问题描述 有没有人帮我讲解下jsp的程序呢?实在是看不懂,网上搜索也了解了点 希望你们帮我讲讲整个代码的框架?怎么实现的,实在是看不懂,网上搜索也了解了点 解决方案 建议先看servlet,然后再了解jsp 解决方案二: JSP实际上就是是一个servlet程序,只是jsp把这个servlet封装起来,通过PrintWriter的方式,将你的jsp中的内容,以html的元素内容形式返回给页面 解决方案三: 通俗的讲,jsp就是服务端servlet运行代码的一种视图表现形式,你也可以理解为网页,只

ssh下jsp页面访问实体数据出现空指针异常

问题描述 ssh下jsp页面访问实体数据出现空指针异常 我用的是ssh框架,通过action访问实体数据没有问题,当在jsp页面中创建dao的实现类对象去访问数据就出错了.顺便问下spring的实体映射是在前台页面执行完之后进行的吗?我怀疑jsp页面中去访问的实体数据不存在.jsp中代码:,dao中代码

ssh-SSH框架下 jsp页面提交file类型input404 求高手指导

问题描述 SSH框架下 jsp页面提交file类型input404 求高手指导 从页面进入action,名称路径全对,form提交的时候如果file类型的input标 签不选择文件可以找到并进入后台,如果选择文件了则是404.这是什么原因? 求大神给予解答!!!谢谢了!!! 解决方案 这个最好分开做处理,写程序之前先想好流程,别急着写代码 解决方案二: 分析下你的action定义的请求是get的还是post. 最好贴上具体代码!

jsp mysql 乱码-jsp连接数据库中文显示乱码

问题描述 jsp连接数据库中文显示乱码 在网页中向mysql添加中文数据,再从数据库中获取此数据并在网页上显示,结果中文显示的是乱码,数据库中显示的也是乱码,请问该怎么解决? 解决方案 request.setCharacterEncoding 解决方案二: 检查jsp和服务器端的编码是否一致,服务器端与数据库安装环境是否一致,安装环境与数据库的编码是否一致(可以通过客户端添加数据,看是否乱码). 解决方案三: 直接弄一个SpringMVC的字符接拦截器,把所有的都编码成UTF-8 解决方案四: