第一个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,如下图

希望各位前辈能够指出哪里出了错误
...全文
349 9 打赏 收藏 转发到动态 举报
AI 作业
写回复
用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>
Servlet 第一天 一、简述 1、Servlet,服务器端的小程序,它是相对于Applet 而言的,Applet 是客户端小程序Servlet,是接受来自网络的请求(form 表单,以及其他的请求),并对不同请求作出不同的响应 Servlet,是基于Http 协议的,是运行在web 服务器中的程序。这里要提出一个容器的概念。 servlet运行在web 容器中,在后面会详细地讲解,这个web 容器可以控制Servlet 对象的生命周期,控制请 求由Servlet 对象处理。 2、web 服务器,这里的服务器不是硬件概念,而是软件,常用的web 服务器有Tomcat,Jboss 等,我们所用到的 Tomcat 是一个开源的服务器, Tomcat 是一个用java 语言编写的web 服务器,所以需要有相应的java 运行环境,也就是JVM,还要配置tomcat 的具体路径。 二、Tomcat 的配置 JAVA_HOME=/XXX/XXX/(JDK 路径,bin 的上一层目录) CATALINA_HOME=/XXXX/XXX(tomcat 的绝对路径windows 中X:\xxx\xxx) 在启动Tomcat 时,是运行Tomcat 的bin 目录下的startup.sh(windows 中使用startup.bat) 判断Tomcat 是否启动成功,可以在浏览器的地址栏中使用http://localhost:8080/或http://127.0.0.1:8080/可以访问到 tomcat 的主页就是启动成功了。 要想停止tomcat 服务器要使用shutdown.sh(windows 中使用shutdown.bat),如果直接关闭启动窗口,就会造成 8080 端口占用错误,这时可以在使用shutdown.sh 关闭一下服务器。 startup.sh,shutdown.sh,shutdown.bat,startup.bat 这些文件其实是一些脚本文件用来执行大量

81,122

社区成员

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

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