servlet源文件:
package tom.jiafei;
import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;
public class HelloBeijing extends HttpServlet
{
public void init(ServletConfig config) throws ServletException
{
super.init(config);
}
public void service(HttpServletRequest request,HttpServletResponse response) throws IOException
{
response.setContentType("text/html; charset=GB2312");
PrintWriter out=response.getWriter();
out.println("<html><body>");
out.println("<h2>北京奥运圆满成功!</h2>");
out.println("</body></html>");
}
}
web.xml文件:
<?xml version="1.0" encoding="ISO-8859-1"?>
<web-app 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_3_0.xsd"
version="3.0"
metadata-complete="true">
<servlet>
<servlet-name>hello</servlet-name>
<servlet-calss>tom.jiafei.HelloBeijing</servlet-calss>
</servlet>
<servlet-mapping>
<servlet-name>hello</servlet-name>
<url-pattern>/abc</url-pattern>
</servlet-mapping>
</web-app>
我的web服务目录是ch4,web.xml放到WEB-INF下了,WEB-INF下有WEB-INF/classes/tom/jiafei/HelloBeijing.java,这些文件的位置都放正确了。
但是一运行就不成功,提示:
javax.servlet.ServletException: No servlet class has been specified for servlet hello
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:98)
org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:927)
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:407)
org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:987)
org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:579)
org.apache.tomcat.util.net.AprEndpoint$SocketProcessor.run(AprEndpoint.java:1805)
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110)
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)
java.lang.Thread.run(Thread.java:722)
就是书上的例题,照着敲的,不知道哪错了,郁闷啊,有点长,高手帮助下,满意追加分数!
打错,是HelloBeijing.class
java 部署servlet出错,求助!
答案:5 悬赏:0 手机版
解决时间 2021-01-03 22:47
- 提问者网友:不爱我么
- 2021-01-03 11:18
最佳答案
- 五星知识达人网友:妄饮晩冬酒
- 2021-01-03 12:13
部署servlet之后要先重启服务器,reload也行,试试;
或者是不是文件夹的名字不一致,仔细比对下
或者是不是文件夹的名字不一致,仔细比对下
全部回答
- 1楼网友:白昼之月
- 2021-01-03 14:55
不是。class吧
- 2楼网友:低血压的长颈鹿
- 2021-01-03 14:35
<servlet-calss>tom.jiafei.HelloBeijing</servlet-calss>
标签打错了吧?是<servlet-class>? 写代码还是用IDE工具吧,eclipse又不要钱,自己用记事本啊啥的写很容易打错单词的!
- 3楼网友:举杯邀酒敬孤独
- 2021-01-03 13:32
- 4楼网友:不甚了了
- 2021-01-03 12:54
不知道为什么 继承了HttpServlet 没有重写doget 和dopost方法
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯