所在位置:论坛首页 -> 计算机科学与技术 -> 程序设计 -> [求助]关于Servlet中请求资源找不到的问题 |
我是想通过实现接口Servlet来写一个简单的Servlet程序,程序和其配置文件如下package testservlet;
import javax.servlet.*;
import java.io.*;
public class HelloServlet implements Servlet{
public void init(ServletConfig param1)throws ServletException{
System.out.println("init it");
}
@Override
/*1.reload 2.close tomcat 3,close computer*/
public void destroy() {
// TODO Auto-generated method stub
System.out.println("destory it ");
}
@Override
public ServletConfig getServletConfig() {
// TODO Auto-generated method stub
return null;
}
@Override
public String getServletInfo() {
// TODO Auto-generated method stub
return null;
}
@Override
public void service(ServletRequest req, ServletResponse res)
throws ServletException, IOException {
System.out.println("service it");//向控制台打印
PrintWriter pw=res.getWriter();
pw.println("hello,world");
}
}
web.xml:
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_5.xsd" id="WebApp_ID">
<display-name>heh</display-name>
<servlet>
<servlet-name>/HelloServlet</servlet-name>
<servlet-class>testservlet.HelloServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>/HelloServlet</servlet-name>
<url-pattern>/HelloServlet</url-pattern>
</servlet-mapping>
<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-list>
</web-app>
检查觉的没有错误,可是运行时出现的错误是文件无法定位的the requested resource()is not available.的404错误,这是什么原因呢?
Servlet接口是个通用的,不是针对某个协议的接口.我们一般使用的HttpServlet只是支持http协议,你需要继承的是这个类,而不是实现那个接口去.
你没有按照Eclipse向导做!!简单的事情让你弄复杂了:).
呵呵,对啊,通过继承HttpServlet,能够正确输出啊。
我是看了一个网上的视频,讲的是通过实现Servlet接口,继承GenericServlet和HttpServlet三种方法开发Servlet,所以我就想用三种方法都实现一下,就写了上面的程序,结果就出错了
哦,呵呵,好.我给你检查一下,程序没有问题,就是web.xml里对Servlet的名字命名有点怪,叫/Hellowolrd,这个"/"感觉用的不好,没有含义,呵呵.可以直接去掉.
你运行出问题,估计主要原因估计在于访问地址不对,注意看看你的浏览器里的地址栏里,是不是url不对,因为你不是通过ide环境开发,而是自己写的接口,所以,eclipse映射的不对.通过eclipse在该类上右键运行Servlet的话,可能访问的是http://localhost:8080/yourproject/WEB-INF/classes/com/historycreator/servlettest/Helloworld.java,这样的路径,所以出现404错误
解决办法就是等重新启动服务器后,在浏览器里直接输入http://localhost:8080/yourproject/HelloServlet,应该就对了:)
注意将yourproject替换成你的项目名.
哦,呵呵,这下好啦,谢谢!
操作选项: 评分 加精 解精 奖惩 设专题 设公告 解公告 固顶 总固顶 解固顶 结帖 解结帖 锁帖 解锁 移帖 删帖 |
|