zoukankan      html  css  js  c++  java
  • Tomcat与Java Web开发问题整理

    最近在看Tomcat与Java Web开发技术详解这本书,把我在看书过程中遇到的问题整理一下,方便以后查询。

    1、在237页,通过JDBC API访问数据库的JSP范例程序中,我按照书中说明,“确保MySQL的JDBC驱动器类库mysqldriver.jar 位于helloapp(即你的项目)/WEB-INF/lib目录下,或者,可以把mysqldriver.jar文件复制到<CATALINA_HOME>(即Tomcat的安装目录)/lib目录下”操作,但是并没有输出书中效果,问题排查过程如下:

    (1) 现象:一开始在浏览器中输入http://localhost:8080/helloapp/dbaccess.jsp,结果是无法访问。

       原因:我没有开启Tomcat。

         方法:开启Tomcat方法是:到<CATALINA_HOME>/bin目录下,双击startup.bat文件;但是问题没有解决。

    (2) 现象:在开启Tomcat后,再次输入上面网址,结果是Communication link failure: java.io.IOException, underlying cause: Unexpected end of input                   stream ** BEGIN NESTED EXCEPTION ** java.io.IOException MESSAGE: Unexpected end of input stream STACKTRACE:                                  java.io.IOException: Unexpected end of input stream at com.mysql.jdbc.MysqlIO.readPacket(MysqlIO.java:1096) at        

              ......

              java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603) at java.lang.Thread.run(Thread.java:722) ** END NESTED EXCEPTION ** 

      原因:上网查是说,是mysql驱动程序的问题,下载mysql-connector-java-5.0.3-bin.jar就好。

      方法:上网下载mysql-connector-java-5.0.3-bin.jar,把他放在helloapp(即你的项目)/WEB-INF/lib,然后在浏览器中对刚才的网址按回车就好。

    2、在251页,发布和运行bookstore时出错,

    2.1 对于使用数据源的方式(bookstore1),一开始出错:服务器端发生错误:Cannot create PoolableConnectionFactory (Server connection failure during transaction. Attempted reconnect 3 times. Giving up.)

       原因:应该是驱动版本的问题

       方法:当时用的是mysql5.6,所以下了个mysql-connector-java-5.0.6-bin.jar,放到<CATALINA_HOME>(即Tomcat的安装目录)/lib目录下即可。

    2.2 对于直接使用JDBC访问数据库的方式(bookstore0),即使按照如上方法还是不行,会出现这个问题:服务器端发生错误:Communication link failure: java.io.IOException, underlying cause: Unexpected end of input stream ** BEGIN NESTED EXCEPTION **。

       原因:还需要将mysql-connector-java-5.0.6-bin.jar文件放到bookstore/WEB-INF/lib目录下。

       方法:需要将mysql-connector-java-5.0.6-bin.jar文件放到bookstore/WEB-INF/lib目录下。(注意:bookstore1的WEB-INF下没有lib,而bookstore0有)

    开始遇到这个问题,我看网上很多人说是mysql-connector-java-5.0.6-bin.jar版本问题,但是我下了很多版本都不好使,我原本是用navicat自己建了一个用户hanson,并建了一个BookDB数据库,我猜可能是用户名的问题,或者是用户权限的问题。我就按照书上227页的步骤,建立一个用户叫"dbuser",密码为"1234",并给他授权之后,并把bookstore0和bookstore1关于用户名和密码的地方(bookstore0:webapps/bookstore0/src/mypack/BookDB.java,bookstore1:webapps/bookstore1/META-INF/context.xml),由hanson还原为dbuser。结果就好了,而且,对于mysql-connector-java-5.0.6-bin.jar不同的版本也能用了。真是好奇怪。

  • 相关阅读:
    将Python的Django框架与认证系统整合的方法
    将Python的Django框架与认证系统整合的方法
    Python的Asyncore异步Socket模块及实现端口转发的例子
    每天一个linux命令(3):du命令
    每天一个linux命令(2):file 命令
    Ubantu 使用extundelete恢复数据
    ubantu 单用户模式进入系统
    GDB 调试解析
    服务器搭建5 Samba实现文件共享
    服务器搭建4 安装其它库
  • 原文地址:https://www.cnblogs.com/hansonzhe/p/3647226.html
Copyright © 2011-2022 走看看