サーブレット プログラムの練習中に、この問題に遭遇しました。そして今、私はどのプロジェクトを作成しても同じ問題に直面しています。私が間違っていることを知りません。私はnetbeans 8.1とグラスフィッシュサーバーを使用しています。エラーは次のとおりです:-
HTTP Status 500 - Internal Server Error
type Exception report
messageInternal Server Error
descriptionThe server encountered an internal error that prevented it from
fulfilling this request.
exception javax.servlet.ServletException: Error instantiating servlet class calc
root cause
com.sun.enterprise.container.common.spi.util.InjectionException: Error creating managed object for class: class calc
root cause
java.lang.NoSuchMethodException: calc.<init>()
note The full stack traces of the exception and its root causes are available in the
GlassFish Server Open Source Edition 4.1 logs.
GlassFish Server Open Source Edition 4.1
htmlコード:-
<html>
<head>
<title>TODO supply a title</title>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
</head>
<body>
<form method="get" action="http://localhost:8080/calculator/calc">
<label for="no1">Enter the number one</label>
<input type="text" id="no1" name="no1"/><br><br>
<label for="no2">Enter the number two</label>
<input type="text" id="no2" name="no2"/><br><br>
<select name="opr">
<option>addition</option>
<option>subtraction</option>
<option>multiplication</option>
<option>Division</option>
</select>
<input type="submit" value="submit"/>
<input type="reset" value="reset"/>
</form>
</body>
</html>
サーブレット コード:-
import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;
class calc extends HttpServlet
{
public void doGet(HttpServletRequest req,HttpServletResponse res) throws IOException,ServletException
{
PrintWriter pw=res.getWriter();
float result=0;
float a=Float.parseFloat(req.getParameter("no1"));
float b=Float.parseFloat(req.getParameter("no2"));
String opr=req.getParameter("opr");
if(opr.equals("addition"))
{
result=a+b;
}
if(opr.equals("subtraction"))
{
result=a-b;
}
if(opr.equals("multiplication"))
{
result=a*b;
}
if(opr.equals("division"))
{
result=a/b;
}
pw.println("the answer is "+result);
}
}
xml コード:-
<?xml version="1.0" encoding="UTF-8"?>
<web-app version="3.1" xmlns="http://xmlns.jcp.org/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd">
<servlet>
<servlet-name>calc</servlet-name>
<servlet-class>calc</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>calc</servlet-name>
<url-pattern>/calc</url-pattern>
</servlet-mapping>
<session-config>
<session-timeout>
30
</session-timeout>
</session-config>
<welcome-file-list>
<welcome-file>index.html</welcome-file>
</welcome-file-list>
</web-app>