//这是我的第一个Serlvet,使用实现servlet接口的方式来开发 
package com.tsinghua;
import javax.servlet.*;
import java.io.*;
import javax.servlet.Servlet;
import javax.servlet.ServletConfig;
import javax.servlet.ServletException;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;
import java.io.IOException; public class Hello implements Servlet { //该函数用于初始化该serlvet(类似于类的构造函数)
//该函数只会被调用一次(当用户第一次访问该servlet时被调用)
public void init(ServletConfig parm1) throws ServletException {
// TODO: Add your code here
System.out.println ("init it");
} //
public ServletConfig getServletConfig() {
// TODO: Add your code here
return null;
} //这个函数用于处理业务逻辑
//程序员应当把业务逻辑代码写在这里
//当用户每访问该servlet是,都会调用
//req: 用于获得客户端(浏览器)的信息
//res: 用于向客户端(浏览器)返回信息
public void service(ServletRequest req, ServletResponse res) throws ServletException, IOException {
// TODO: Add your code hereSystem.out.println ("service it");
//从res中得到PrintWriter
PrintWriter pw=res.getWriter();
pw.println("hello,world");
} //
public String getServletInfo() {
// TODO: Add your code here
return "";
} //销毁servlet实例(释放内存)
//1.reload 该serlvet(webApps) //2.关闭tomcat //3.关机
public void destroy() {
System.out.println ("destroy!");
// TODO: Add your code here
} }
韩老师那能运行,我这运行cmd出口出现如下字段
exception in thread "main" java.lang.NoSuchMethodError:main

解决方案 »

  1.   

    servlet应该是在web服务器上用的吧,例如tomcat,而且是要进行配置的,你是不是跳过了前面一段配置web.xml文件和tomcat的内容了?
      

  2.   

    servlet 不是用 java命令启动的,  必须部署在服务器上。 关于部署 , 最标准做法是 有个war包, 内部至少要有个WEB-INF目录, 其下要有个web.xml 所有内容全部配置好, 包括servlet的名字 映射路径,class路径  然后servlet的class文件放在WEB-INF/classes目录下(按package建立好对应目录) 或者在某个jar文件里面  然后放在WEB-INF/lib下