QQ登录

只需一步,快速开始

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 3473|回复: 12

linux下tomcat服务器jsp怎么连接mysql数据库

[复制链接]
发表于 2005-6-9 21:53:27 | 显示全部楼层 |阅读模式
各位大大,我很认真的查了很多贴子,试验了一个星期?
可是可能太菜了,jsp能够编译成功并且在浏览器里显示,可是就是没法连上mysql数据库,不得以而为之,只好求教了.
哪位大哥大姐有成功经验(或是从哪篇文章里学会了)能不能给小弟介绍一下,感恩不尽呀.

我的jsp服务器是tomcat 5.0 ,mysql 是 4.0.

还有,怎么设置自已的WEB-INF路径呀?
发表于 2005-6-9 22:20:44 | 显示全部楼层
我也正在弄这个
你弄好了的话
麻烦说一下
谢谢
回复

使用道具 举报

 楼主| 发表于 2005-6-10 01:26:23 | 显示全部楼层
晚上刚找到的,还没试一下.
http://study.vipcn.com/InfoList/Catalog_100_1.html
这是一个配置留言板的实例:
http://study.vipcn.com/infoview/Article_40769.html
java 就是强大,连困难也是如此强大,找了N多本的电子书的,都没有介绍全,或是含糊其词.
回复

使用道具 举报

发表于 2005-6-10 17:00:05 | 显示全部楼层
驱动用这个:org.gjt.mm.mysql.Driver
URL用这个:jdbc:mysql://127.0.0.1:3306/数据库名字?useUnicode=true&characterEncoding=GBK

后面主要是用来解决中文乱码的
回复

使用道具 举报

 楼主| 发表于 2005-6-12 20:07:44 | 显示全部楼层
谢谢大大了,这些我都知道,但驱动要放哪?
怎么放?
要sever.xml
   web.xml
里面怎么设置?
回复

使用道具 举报

发表于 2005-6-14 23:55:06 | 显示全部楼层
connector放在jre/lib/ext下面,
回复

使用道具 举报

 楼主| 发表于 2005-6-15 15:48:09 | 显示全部楼层
谢谢了,我再试一下.
搞了几天没搞好,也暂停了.
看了很多贴子,好像在windows底下搞更容易些?但我一向觉得,这应该更适用于linux吧?

顺便再问一下,我下载了tomcat 4.0用5.0等两种版本, 在linux下都打不开它们的数据源设置页面.
但windows版本的可以,是不是我有什么遗漏的地方.
请大大们指教一二.
回复

使用道具 举报

发表于 2005-6-16 10:40:59 | 显示全部楼层
手工在sever.xml 设置....

参考一下.
<!-- Example Server Configuration File -->
<!-- Note that component elements are nested corresponding to their
     parent-child relationships with each other -->

<!-- A "Server" is a singleton element that represents the entire JVM,
     which may contain one or more "Service" instances.  The Server
     listens for a shutdown command on the indicated port.

     Note:  A "Server" is not itself a "Container", so you may not
     define subcomponents such as "Valves" or "Loggers" at this level.
-->

<Server port="8005" shutdown="SHUTDOWN" debug="0">


  <!-- Comment out these entries to disable JMX MBeans support -->
  <Listener className="org.apache.catalina.mbeans.ServerLifecycleListener"
            debug="0"/>
  <Listener className="org.apache.catalina.mbeans.GlobalResourcesLifecycleListener"
            debug="0"/>

  <!-- Global JNDI resources -->
  <GlobalNamingResources>

    <!-- Test entry for demonstration purposes -->
    <Environment name="simpleValue" type="java.lang.Integer" value="30"/>

    <!-- Editable user database that can also be used by
         UserDatabaseRealm to authenticate users -->
    <Resource name="UserDatabase" auth="Container"
              type="org.apache.catalina.UserDatabase"
       description="User database that can be updated and saved">
    </Resource>
    <ResourceParams name="UserDatabase">
      <parameter>
        <name>factory</name>
        <value>org.apache.catalina.users.MemoryUserDatabaseFactory</value>
      </parameter>
      <parameter>
        <name>pathname</name>
        <value>conf/tomcat-users.xml</value>
      </parameter>
    </ResourceParams>

  </GlobalNamingResources>

  <!-- A "Service" is a collection of one or more "Connectors" that share
       a single "Container" (and therefore the web applications visible
       within that Container).  Normally, that Container is an "Engine",
       but this is not required.

       Note:  A "Service" is not itself a "Container", so you may not
       define subcomponents such as "Valves" or "Loggers" at this level.
   -->

  <!-- Define the Tomcat Stand-Alone Service -->
  <Service name="Catalina">

    <!-- A "Connector" represents an endpoint by which requests are received
         and responses are returned.  Each Connector passes requests on to the
         associated "Container" (normally an Engine) for processing.

         By default, a non-SSL HTTP/1.1 Connector is established on port 8080.
         You can also enable an SSL HTTP/1.1 Connector on port 8443 by
         following the instructions below and uncommenting the second Connector
         entry.  SSL support requires the following steps (see the SSL Config
         HOWTO in the Tomcat 5 documentation bundle for more detailed
         instructions):
         * Download and install JSSE 1.0.2 or later, and put the JAR files
           into "$JAVA_HOME/jre/lib/ext".
         * Execute:
             %JAVA_HOME%\bin\keytool -genkey -alias tomcat -keyalg RSA (Windows)
             $JAVA_HOME/bin/keytool -genkey -alias tomcat -keyalg RSA  (Unix)
           with a password value of "changeit" for both the certificate and
           the keystore itself.

         By default, DNS lookups are enabled when a web application calls
         request.getRemoteHost().  This can have an adverse impact on
         performance, so you can disable it by setting the
         "enableLookups" attribute to "false".  When DNS lookups are disabled,
         request.getRemoteHost() will return a String containing the
         IP address of the remote client.
    -->

    <!-- Define a non-SSL Coyote HTTP/1.1 Connector on port 8081 -->
    <Connector className="org.apache.coyote.tomcat5.CoyoteConnector"
port="80"               minProcessors="5" maxProcessors="100"
               enableLookups="true" redirectPort="8443" acceptCount="100"
               debug="0" connectionTimeout="20000"
               disableUploadTimeout="true" />
    <!-- Note : To disable connection timeouts, set connectionTimeout value
     to -1 -->

    <!-- Define a SSL Coyote HTTP/1.1 Connector on port 8443 -->
    <!--
    <Connector className="org.apache.coyote.tomcat5.CoyoteConnector"
               port="8443" minProcessors="5" maxProcessors="75"
               enableLookups="true" disableUploadTimeout="true"
           acceptCount="100" debug="0" scheme="https" secure="true">
      <Factory className="org.apache.coyote.tomcat5.CoyoteServerSocketFactory"
               clientAuth="false" protocol="TLS" />
    </Connector>
    -->

    <!-- Define a Coyote/JK2 AJP 1.3 Connector on port 8009 -->
    <Connector className="org.apache.coyote.tomcat5.CoyoteConnector"
               port="8009" minProcessors="5" maxProcessors="75"
               enableLookups="true" redirectPort="8443"
               acceptCount="10" debug="0" connectionTimeout="0"
               useURIValidationHack="false"
               protocolHandlerClassName="org.apache.jk.server.JkCoyoteHandler"/>

    <!-- Define a Proxied HTTP/1.1 Connector on port 8082 -->
    <!-- See proxy documentation for more information about using this. -->
    <!--
    <Connector className="org.apache.coyote.tomcat5.CoyoteConnector"
               port="8082" minProcessors="5" maxProcessors="75"
               enableLookups="true"
               acceptCount="100" debug="0" connectionTimeout="20000"
               proxyPort="80" disableUploadTimeout="true" />
    -->

    <!-- An Engine represents the entry point (within Catalina) that processes
         every request.  The Engine implementation for Tomcat stand alone
         analyzes the HTTP headers included with the request, and passes them
         on to the appropriate Host (virtual host). -->

    <!-- Define the top level container in our container hierarchy -->
    <Engine name="Catalina" defaultHost="localhost" debug="0">

      <!-- The request dumper valve dumps useful debugging information about
           the request headers and cookies that were received, and the response
           headers and cookies that were sent, for all requests received by
           this instance of Tomcat.  If you care only about requests to a
           particular virtual host, or a particular application, nest this
           element inside the corresponding <Host> or <Context> entry instead.

           For a similar mechanism that is portable to all Servlet 2.4
           containers, check out the "RequestDumperFilter" Filter in the
           example application (the source for this filter may be found in
           "$CATALINA_HOME/webapps/examples/WEB-INF/classes/filters").

           Request dumping is disabled by default.  Uncomment the following
           element to enable it. -->
      <!--
      <Valve className="org.apache.catalina.valves.RequestDumperValve"/>
      -->

      <!-- Global logger unless overridden at lower levels -->
      <Logger className="org.apache.catalina.logger.FileLogger"
              prefix="catalina_log." suffix=".txt"
              timestamp="true"/>

      <!-- Because this Realm is here, an instance will be shared globally -->

      <!-- This Realm uses the UserDatabase configured in the global JNDI
           resources under the key "UserDatabase".  Any edits
           that are performed against this UserDatabase are immediately
           available for use by the Realm.  -->
      <Realm className="org.apache.catalina.realm.UserDatabaseRealm"
                 debug="0" resourceName="UserDatabase"/>

      <!-- Comment out the old realm but leave here for now in case we
           need to go back quickly -->
      <!--
      <Realm className="org.apache.catalina.realm.MemoryRealm" />
      -->

      <!-- Replace the above Realm with one of the following to get a Realm
           stored in a database and accessed via JDBC -->

      <!--
      <Realm  className="org.apache.catalina.realm.JDBCRealm" debug="99"
             driverName="org.gjt.mm.mysql.Driver"
          connectionURL="jdbc:mysql://localhost/authority"
         connectionName="test" connectionPassword="test"
              userTable="users" userNameCol="user_name" userCredCol="user_pass"
          userRoleTable="user_roles" roleNameCol="role_name" />
      -->

      <!--
      <Realm  className="org.apache.catalina.realm.JDBCRealm" debug="99"
             driverName="oracle.jdbc.driver.OracleDriver"
          connectionURL="jdbcracle:thin:@ntserver:1521:ORCL"
         connectionName="scott" connectionPassword="tiger"
              userTable="users" userNameCol="user_name" userCredCol="user_pass"
          userRoleTable="user_roles" roleNameCol="role_name" />
      -->

      <!--
      <Realm  className="org.apache.catalina.realm.JDBCRealm" debug="99"
             driverName="sun.jdbc.odbc.JdbcOdbcDriver"
          connectionURL="jdbcdbc:CATALINA"
              userTable="users" userNameCol="user_name" userCredCol="user_pass"
          userRoleTable="user_roles" roleNameCol="role_name" />
      -->

      <!-- Define the default virtual host -->
      <Host name="localhost" debug="0" appBase="webapps"
       unpackWARs="true" autoDeploy="true">

      <!-- Add the following attributes if you want to turn XML validation
           on. Remember to comment the Host element above.
           
           Note: XML Schema validation will work with Xerces 2.0.1 or
           Xerces 2.1. Xerces 2.0.2 and Xerces 2.2 have bugs that prevent
           their use with Tomcat -->
      <!--
      <Host name="localhost" debug="0" appBase="webapps"
       unpackWARs="true" autoDeploy="true"
       xmlValidation="true" xmlNamespaceAware="true">
      -->

        <!-- Uncomment this to cluster this host using JavaGroups. The
             protocol attribute can be used to configure the JavaGroups
             network stack (the defaults are used if it's not specified). -->
        <!--
        <Cluster className="org.apache.catalina.cluster.JGCluster"/>
        -->

        <!-- Normally, users must authenticate themselves to each web app
             individually.  Uncomment the following entry if you would like
             a user to be authenticated the first time they encounter a
             resource protected by a security constraint, and then have that
             user identity maintained across *all* web applications contained
             in this virtual host. -->
        <!--
        <Valve className="org.apache.catalina.authenticator.SingleSignOn"
                   debug="0"/>
        -->

        <!-- Access log processes all requests for this virtual host.  By
             default, log files are created in $CATALINA_HOME/logs.
             If you wish, you can specify a different
             directory with the "directory" attribute.  Specify either a relative
             (to $CATALINA_HOME) or absolute path to the desired directory.
        -->
        <!--
        <Valve className="org.apache.catalina.valves.AccessLogValve"
                 directory="logs"  prefix="localhost_access_log." suffix=".txt"
                 pattern="common" resolveHosts="false"/>
        -->

        <!-- Logger shared by all Contexts related to this virtual host.  By
             default (when using FileLogger), log files are created in the "logs"
             directory relative to $CATALINA_HOME.  If you wish, you can specify
             a different directory with the "directory" attribute.  Specify either a
             relative (to $CATALINA_HOME) or absolute path to the desired
             directory.-->
        <Logger className="org.apache.catalina.logger.FileLogger"
                 directory="logs"  prefix="localhost_log." suffix=".txt"
            timestamp="true"/>

        <!-- Define properties for each web application.  This is only needed
             if you want to set non-default properties, or have web application
             document roots in places other than the virtual host's appBase
             directory.  -->

        <!-- Tomcat Root Context -->
         <Context path="" docBase="ROOT" debug="0">
                     
          <Resource name="YHDS" auth="Container"
            
          type="javax.sql.DataSource"/>
                             
          <ResourceParams name="YHDS">
                             
            <parameter>
                                    
          <name>factory</name>
                                    
          <value>org.apache.commons.dbcp.BasicDataSourceFactory</value>
                             
            </parameter>
                             
            <parameter>
                                    
          <name>driverClassName</name>
                                    
          <value>com.microsoft.jdbc.sqlserver.SQLServerDriver</value>
                             
            </parameter>
                             
            <parameter>
                                    
          <name>url</name>
                                    
          <value>jdbc:microsoft:sqlserver://127.0.0.1:1433;DatabaseName=yh</value>
                             
            </parameter>
                             
            <parameter>
                                    
          <name>username</name>
                                    
          <value>sa</value>
                             
            </parameter>
                             
            <parameter>
                                    
          <name>password</name>
                                    
          <value>sunboy</value>
                             
            </parameter>
                             
            <parameter>
                                    
          <name>maxActive</name>
                                    
          <value>100</value>
                             
            </parameter>
                             
            <parameter>
                                    
          <name>maxIdle</name>
                                    
          <value>300</value>
                             
            </parameter>

           <parameter>
           <name>removeAbandoned</name>
           <value>true</value>
           </parameter>
           <parameter>
           <name>logAbandoned</name>
           <value>true</value>
           </parameter>

                             
            <parameter>
                                    
          <name>maxWait</name>
                                    
          <value>30000</value>
                             
            </parameter>
                             
          </ResourceParams>
                     
          </Context>

      </Host>

    </Engine>

  </Service>

</Server>


在其中的
<value>jdbc:microsoft:sqlserver://127.0.0.1:1433;DatabaseName=yh</value>
里有数据库名,在它下面也有用户和密码

Good Luck!!
回复

使用道具 举报

发表于 2005-6-19 13:48:31 | 显示全部楼层
楼上的,好像没有那么复杂吧,
那个mysql-connector-***.jar随便放在哪里都行的,但是要在环境变量CLASSPATH加上
/path/to/mysql-connector-***.jar
然后在java程序里面调用
Class.forName("org.gjt.mm.mysql.Driver").newInstance();
就能找到那个驱动了,至于怎么连数据库我想应该很容易了吧,呵呵,
祝楼主好运
回复

使用道具 举报

 楼主| 发表于 2005-6-20 20:40:21 | 显示全部楼层
谢谢各位大大了。
我现在已经成功运行了。
我想,可以真是菜鸟一头吧,弄了很久,而且网上的资料比较杂,所以搞了很久。
谢谢这么多热必回复的同志们,愿大家在linux的道路上,一路走好。
回复

使用道具 举报

发表于 2005-6-20 22:54:13 | 显示全部楼层
多参看官方文档
回复

使用道具 举报

发表于 2005-6-22 08:48:22 | 显示全部楼层
我比较偷懒,用的JBuilder,所以基本上没有考虑配置文件的问题,而且我最为偷懒的是使用的ODBJ-JDBC桥连接数据库,目的就是为了把精力集中在业务逻辑上。

另外,我的JBuilder总是不能在Solaris上安装,真的很郁闷,所以我就用Windows啦
回复

使用道具 举报

 楼主| 发表于 2005-6-23 13:18:46 | 显示全部楼层
能不能分绍一下,在JBuilder中连结数据库的方法?(mysql数据库) 如何设置?
JBuilder我在maginlinux及redhat系统中都能正常安装。
它有linux专用版本,一般都是两张盘,一张windows,一张linux的,直接点击就可以安装了,不错的,挺好用的。
想问一下,在JBuilder中是不是还要自已安装mysql?我看那第三方工具中都没有它呀?
关于在linux中的破解,搜一下,很多的,我记得有一下.exe的那个文件好像是改成.jar也能运行的。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

GMT+8, 2024-11-16 21:49 , Processed in 0.123225 second(s), 15 queries .

© 2021 Powered by Discuz! X3.5.

快速回复 返回顶部 返回列表