【问题标题】:Cant deploy WebService that uses MYSQL in Tomcat无法在 Tomcat 中部署使用 MYSQL 的 Web 服务
【发布时间】:2012-10-23 19:40:09
【问题描述】:

这是我的网络服务代码。

/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package customer;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.text.Format;
import java.text.SimpleDateFormat;
import java.util.Date;
import javax.jws.WebService;

/**
 *
 * @author Mihir
 */
public class Customer {
  String date1;
  Format formatter;
  Date date = new Date();
    public String feedback(String contactno,String comments,String ambience,String service,String 

food,String email,String custno,String custname,String storeno,String sno) 
    {

  formatter = new SimpleDateFormat("dd/MM/yy");
  date1 = formatter.format(date);
  Connection con = null;
  PreparedStatement prest;
  try{
  Class.forName("com.mysql.jdbc.Driver");
  con = DriverManager.getConnection("jdbc:mysql://localhost:3306/feedback","root","root");
  Statement stmt = con.createStatement();



      String sql = "INSERT INTO fb(contact_no, 

date,comments,ambience,service,food,email,cust_no,cust_name,store_no,s_no) " +
                    "VALUES ('"+contactno+"', 

'"+date1+"','"+comments+"','"+ambience+"','"+service+"','"+food+"','"+email+"','"+custno+"',

'"+custname+"','"+storeno+"','"+sno+"')";

stmt.execute(sql);


  }

  catch (Exception e){
  e.printStackTrace();
  }
        return null;
  }

}

现在这就是我想要做的。

  1. 在 Tomcat 的 webapps 中创建名为 customer_customer 的文件夹。
  2. 里面还有两个文件夹 - WEB-INF META-INF
  3. 在 META_INF context.xml 中包含内容-

  4. WEB-INF 内部

4.a.类/客户/客户.class

4b。带有 jar 的 lib 文件夹 - 一、webservices-api.jar 二、 webservices-extra.jar III.webservices--extra-api.jar 四。 webservices-rt.jar 五、webservices-tools.jar 六、 mysql-connector-java-5.1.18-bin.jar

4c。 web.xml -

    <?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.5" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">
    <listener>
        <listener-class>com.sun.xml.ws.transport.http.servlet.WSServletContextListener</listener-class>
    </listener>
    <servlet>
        <servlet-name>Customer</servlet-name>
        <servlet-class>com.sun.xml.ws.transport.http.servlet.WSServlet</servlet-class>
        <load-on-startup>1</load-on-startup>
    </servlet>
    <servlet-mapping>
        <servlet-name>Customer</servlet-name>
        <url-pattern>/feedback</url-pattern>
    </servlet-mapping>

</web-app>  

4d。 sun-jaxws.xml

<?xml version="1.0" encoding="UTF-8"?>
<endpoints version="2.0" xmlns="http://java.sun.com/xml/ns/jax-ws/ri/runtime">
  <endpoint implementation="ws.Customer" name="Adder" url-pattern="/feedback"/>
</endpoints>

【问题讨论】:

  • content.xml ''
  • 当您尝试部署该代码时究竟会发生什么?
  • 如果我添加任何简单的代码,比如添加两个数字,那么它将被部署并且工作正常,但是当我尝试添加 MySQL 实现时,Tomcat 会显示此消息 FAIL - Application at context path / customer_customer 无法启动。我单独运行我的类文件并且它工作正常。它发生在每个带有 mysql 的 web 服务上。注意 - 它也适用于 glassfish。
  • 您应该在 Tomcat 日志中的某处找到堆栈跟踪。请更新您的问题...
  • 无法打开事件互斥锁。我不使用 Tomcat,所以不知道如何解决这个问题。

标签: java mysql web-services tomcat


【解决方案1】:

我现在得到它并且它的工作我进行了更改,以便我的包名称彼此不同并指定 @Webservice 在我的班级名称之前。我已经测试了 Web 服务并在我的 android 手机上实现了。 谢谢大家的cmets。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-10-15
    • 1970-01-01
    • 2011-02-25
    • 1970-01-01
    • 2018-06-07
    • 1970-01-01
    • 2016-06-13
    • 1970-01-01
    相关资源
    最近更新 更多