第一个servlet程序,无法运行

jwc19890114 2013-02-03 10:36:05
我是在myeclipse上编写servlet程序,服务器配置正确,web.xml文件也进行了相关修改,可以进入tomcat管理页面,但是不知道应该如何在myeclipse上测试servlet
整个web项目如下图


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" version="2.5">
<display-name></display-name>
<servlet>
<description>This is the description of my J2EE component</description>
<display-name>This is the display name of my J2EE component</display-name>
<servlet-name>Hello</servlet-name>
<servlet-class>servlet.Hello</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>Hello</servlet-name>
<url-pattern>/servlet</url-pattern>
</servlet-mapping>
<welcome-file-list>
<welcome-file>index.jsp</welcome-file>
</welcome-file-list>
</web-app>

servlet源代码如下

package servlet;

//这是第一个servlet,使用实现servlet接口来开发

import java.io.IOException;
import java.io.PrintWriter;

import javax.servlet.ServletConfig;
import javax.servlet.ServletException;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;


public class Hello
{

//该函数用于初始化servlet(类似于类的构造函数)
//该函数只会被调用一次(当用户第一次访问该servlet时被调用)
public void init(ServletConfig parm1) throws ServletException {
// Put your code here
System.out.println("init it");
}

public ServletConfig getServletConfig(){
return null;
}

//该函数用于处理业务逻辑
//程序员应当把业务逻辑代码写在这里
//当用户每访问一次该servlet的时候都会被调用
//ServletRequest用于获得客户端(浏览器)的信息
//ServletResponse用于向客户端返回信息
public void service(ServletRequest req, ServletResponse res)throws ServletException,IOException{
System.out.println("service it");
//从res中得到PrintWriter
PrintWriter pw=res.getWriter();
pw.println("hello.word");

}

public String getServletInfo(){
return "";
}

//销毁serv实例(释放内存)
//reload;关闭tomcat;关机
public void destroy() {
System.out.println("destroy");
}
}

报错是404,如下图

希望各位前辈能够指出哪里出了错误
...全文
343 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
哎呦_莫言 2013-02-04
  • 打赏
  • 举报
回复
引用 楼主 jwc19890114 的回复:
//这是第一个servlet,使用实现servlet接口来开发 import java.io.IOException; import java.io.PrintWriter; import javax.servlet.ServletConfig; import javax.servlet.ServletException; import javax.servlet.ServletRequest; import javax.servlet.ServletResponse; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; public class Hello{
你的类应该继承HttpServlet--> public class Hello extends HttpServlet
  • 打赏
  • 举报
回复
共同学习,一起进步。
jwc19890114 2013-02-04
  • 打赏
  • 举报
回复
引用 6 楼 fangmingshijie 的回复:
路径是http://localhost:8080/JSPSERVLET1/servlet/你的servlet名字
成了,谢谢您! 刚学jsp,让您见笑了
  • 打赏
  • 举报
回复
路径是http://localhost:8080/JSPSERVLET1/servlet/你的servlet名字
jwc19890114 2013-02-04
  • 打赏
  • 举报
回复
引用 1 楼 fangmingshijie 的回复:
Java code?12345改为:<servlet-mapping> <servlet-name>Hello</servlet-name> <url-pattern>/servlet/*</url-pattern> </servlet-mapping>

已经试了,可是还是会报错
a597926661 2013-02-04
  • 打赏
  • 举报
回复
楼主 你web.xml文件为什么要改 改了什么呢 在你新建servlet之后MyEclipse是会自动把需要的配置追加到web.xml里的 楼主不会是自己改了吧 <servlet-mapping> <servlet-name>Hello</servlet-name> <url-pattern>/servlet</url-pattern> </servlet-mapping> 这一段 在访问的时候用的就是 <url-pattern>这个节点内的内容 节点内第一个反斜线不要 “/” http://localhost:端口/项目名/url-pattern节点内的内容 这样能直接向这个servlet发送请求
Dream__Heart 2013-02-04
  • 打赏
  • 举报
回复
亲!你在web.xml中配置的 <url-pattern>/servlet</url-pattern>,所有在浏览器中访问时应该写成如下: http://localhost:JSPSERVLET1/servlet/servlet
coralandbill 2013-02-04
  • 打赏
  • 举报
回复
楼上+1 楼主报的是路径错误
  • 打赏
  • 举报
回复

改为:
<servlet-mapping>
    <servlet-name>Hello</servlet-name>
    <url-pattern>/servlet/*</url-pattern>
  </servlet-mapping>

81,090

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧