2013-11-04 132 views
0

Hı,我有JSP和Web_Service.java.Web_Service.java只是一个java类。它有一个被JSP调用的方法.JSP文件有两个按钮和两个文本框。当我输入一个数字并点击按钮,ıt调用java类在数字上做些什么。Apache Tomcat:路径错误

这是我的JSP类Web_Client.jsp:

<%@ page language="java" contentType="text/html; charset=ISO-8859-1" 
    pageEncoding="ISO-8859-1"%> 
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> 
<html> 
<head> 
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> 
<title>Insert title here</title> 
</head> 
<body> 
<form 
action='http://localhost:8080/WebService/services/Web_Service/FahrenheitToCelsius' 
method="post" target="_blank"> 
<table> 
<tr> 
<td>Fahrenheit to Celsius:</td> 
<td><input type="text" size="30" name="Input"></td> 
</tr> 
<tr> 
<td></td> 
<td align="right"><input type="submit" value="Convert"></td> 
</tr> 
</table> 
</form> 

<form 
action='http://localhost:8080/WebService/services/Web_Service/CelsiusToFahrenheit' 
method="post" target="_blank"> 
<table> 
<tr> 
<td>Celsius to Fahrenheit:</td> 
<td><input type="text" size="30" name="Input"></td> 
</tr> 
<tr> 
<td></td> 
<td align="right"><input type="submit" value="Convert"></td> 
</tr> 
</table> 
</form> 
</body> 
</html> 

下面的代码是我的web服务类,这是在包mypack:Web_Service.java:包mypacket;

/** 
* Web Service 
* Temp Converter 
* 
*@version 1.0 Release 1 
*@author mert 
* 
**/ 

public class Web_Service{ 
public String FahrenheitToCelsius(String Input) { 
if (!Input.isEmpty() && isNumber(Input)) { 
double result = 0; 
result = Double.parseDouble(Input); 
result = (((result) - 32)/9) * 5; 
Input = Double.toString(result); 
return Input; 
} else { 
return "ERROR! Please enter the input number..."; 
} 
} 

public String CelsiusToFahrenheit(String Input) { 
if (!Input.isEmpty() && isNumber(Input)) { 
double result = 0; 
result = Double.parseDouble(Input); 
result = (((result) * 9)/5) + 32; 
Input = Double.toString(result); 
return Input; 
} else { 
return "ERROR! Please enter the input number..."; 
} 
} 

下面的代码是我的web.xml:

<?xml version="1.0" encoding="UTF-8"?> 
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" id="WebApp_ID" version="2.5"> 
    <display-name>Bitirme_Proje_New</display-name> 
    <welcome-file-list> 
    <welcome-file>index.html</welcome-file> 
    <welcome-file>index.htm</welcome-file> 
    <welcome-file>index.jsp</welcome-file> 
    <welcome-file>default.html</welcome-file> 
    <welcome-file>default.htm</welcome-file> 
    <welcome-file>default.jsp</welcome-file> 
    <welcome-file>/axis2-web/index.jsp</welcome-file> 
    </welcome-file-list> 
    <servlet> 
    <display-name>Apache-Axis Servlet</display-name> 
    <servlet-name>AxisServlet</servlet-name> 
    <servlet-class>org.apache.axis2.transport.http.AxisServlet</servlet-class> 
    </servlet> 
    <servlet-mapping> 
    <servlet-name>AxisServlet</servlet-name> 
    <url-pattern>/servlet/AxisServlet</url-pattern> 
    </servlet-mapping> 
    <servlet-mapping> 
    <servlet-name>AxisServlet</servlet-name> 
    <url-pattern>*.jws</url-pattern> 
    </servlet-mapping> 
    <servlet-mapping> 
    <servlet-name>AxisServlet</servlet-name> 
    <url-pattern>/services/*</url-pattern> 
    </servlet-mapping> 
    <servlet> 
    <display-name>Apache-Axis Admin Servlet Web Admin</display-name> 
    <servlet-name>AxisAdminServlet</servlet-name> 
    <servlet-class>org.apache.axis2.transport.http.AxisAdminServlet</servlet-class> 
    <load-on-startup>100</load-on-startup> 
    </servlet> 
    <servlet-mapping> 
    <servlet-name>AxisAdminServlet</servlet-name> 
    <url-pattern>/axis2-admin/*</url-pattern> 
    </servlet-mapping> 
</web-app> 

当我运行该项目,该JSP的工作原理:按钮和文本框出现。但是,当我输入一个号码在一个文本框,然后点击按钮,我得到这个错误:

HTTP Status 404 - 
/WebService/services/Web_Service/FahrenheitToCelsius 

type Status report 

message /WebService/services/Web_Service/FahrenheitToCelsius 

description The requested resource is not available. 

Apache Tomcat/6.0.37 

为什么Apache Tomcat上说:“所请求的资源不可用”?我能为这个错误做些什么?

回答

0

存在不正确的Web服务调用。 你必须为表格的action属性设置一些页面。该页面可以进行Web服务调用。

我建议用JSON Spring MVC的休息服务,为您:http://www.javacodegeeks.com/2013/04/spring-mvc-easy-rest-based-json-services-with-responsebody.html

+0

如何调用从JSP文件的方法。 –

+0

非常感谢你的活力。 –

+0

可以使用创建服务实例并在doPost方法内调用所需的方法http://www.java2s.com/Code/Java/JSP/JSPpost.htm。有一种旧式) 我提出了编辑答案中描述的方式。 –