由于参考文章太长,而且前面的都成功了,所以我只贴出配置出问题的一段。这是原文章的地址:http://sames.blog.hexun.com/17515774_d.html
四、建立自己的Servlet:
在myapp\WEB-INF目录下面建立新的目录src用来存放java源文件
在myapp\WEB-INF目录下建立新的目录classes用来存放编译后的class类文件
在myapp\WEB-INF\src目录下用记事本新建一个servlet程序,文件名为HelloWorld.java,文件内容如下: import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;
public class HelloWorld extends HttpServlet
{
public void doGet(HttpServletRequest request,HttpServletResponse response)throws ServletException,IOException
{response.setContentType("text/html");
PrintWriter out = response.getWriter();
out.println("<html><head><title>");
out.println("This is my first Servlet");
out.println("</title></head><body>");
out.println("<h1>Hello,World!</h1>");
out.println("</body></html>");}
}
编译 命令行方式下输入:
进入 myapp\WEB-INF\src目录
javac HelloWorld.java
用javac HelloWorld.java来编译这个文件,会产生一个编译后的servlet文件:HelloWorld.class
如果出现无法import javax.servlet.*
则将C:\Program Files\Apache Software Foundation\Tomcat6.0\lib目录下的servlet-api.jar文件拷贝并添加到
C:\Program Files\Java\jre1.5.0_04\lib\ext目录中去就可以了
然后将HelloWorld.class文件复制到myapp\WEB-INF\classes下
用记事本打开C:\Program Files\Apache Software Foundation\Tomcat6.0\webapps\myapp\WEB-INF目录下的web.xml如下所示,添加后的内容如下:
<!-- JSPC servlet mappings start -->
<servlet>
<servlet-name>HelloWorld</servlet-name>
<servlet-class>HelloWorld</servlet-class>
</servlet> <servlet-mapping>
<servlet-name>HelloWorld</servlet-name>
<url-pattern>/servlet/HelloWorld</url-pattern>
</servlet-mapping><!-- JSPC servlet mappings end -->
</web-app>这段话中的servlet这一段声明了你要调用的Servlet,而servlet-mapping则是将声明的servlet“映射”到/servlet/HelloWorld地址上 启动Tomcat,启动浏览器,输入http://localhost:8080/myapp/servlet/HelloWorld 如果看到输出HelloWorld!就说明编写的servlet成功了。
注意:修改了web.xml以及新加了class,都要重启Tomcat 修改web.xml何增加class时都有重启tomcat的,但还是不行。请问这个问题要怎么解决?另外还有一处地方不大明白,用记事本打开C:\Program Files\Apache Software Foundation\Tomcat6.0\webapps\myapp\WEB-INF目录下的web.xml如下所示,添加后的内容如下:
这句话是说把那段代码添加进去还是覆盖原来的代码?
四、建立自己的Servlet:
在myapp\WEB-INF目录下面建立新的目录src用来存放java源文件
在myapp\WEB-INF目录下建立新的目录classes用来存放编译后的class类文件
在myapp\WEB-INF\src目录下用记事本新建一个servlet程序,文件名为HelloWorld.java,文件内容如下: import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;
public class HelloWorld extends HttpServlet
{
public void doGet(HttpServletRequest request,HttpServletResponse response)throws ServletException,IOException
{response.setContentType("text/html");
PrintWriter out = response.getWriter();
out.println("<html><head><title>");
out.println("This is my first Servlet");
out.println("</title></head><body>");
out.println("<h1>Hello,World!</h1>");
out.println("</body></html>");}
}
编译 命令行方式下输入:
进入 myapp\WEB-INF\src目录
javac HelloWorld.java
用javac HelloWorld.java来编译这个文件,会产生一个编译后的servlet文件:HelloWorld.class
如果出现无法import javax.servlet.*
则将C:\Program Files\Apache Software Foundation\Tomcat6.0\lib目录下的servlet-api.jar文件拷贝并添加到
C:\Program Files\Java\jre1.5.0_04\lib\ext目录中去就可以了
然后将HelloWorld.class文件复制到myapp\WEB-INF\classes下
用记事本打开C:\Program Files\Apache Software Foundation\Tomcat6.0\webapps\myapp\WEB-INF目录下的web.xml如下所示,添加后的内容如下:
<!-- JSPC servlet mappings start -->
<servlet>
<servlet-name>HelloWorld</servlet-name>
<servlet-class>HelloWorld</servlet-class>
</servlet> <servlet-mapping>
<servlet-name>HelloWorld</servlet-name>
<url-pattern>/servlet/HelloWorld</url-pattern>
</servlet-mapping><!-- JSPC servlet mappings end -->
</web-app>这段话中的servlet这一段声明了你要调用的Servlet,而servlet-mapping则是将声明的servlet“映射”到/servlet/HelloWorld地址上 启动Tomcat,启动浏览器,输入http://localhost:8080/myapp/servlet/HelloWorld 如果看到输出HelloWorld!就说明编写的servlet成功了。
注意:修改了web.xml以及新加了class,都要重启Tomcat 修改web.xml何增加class时都有重启tomcat的,但还是不行。请问这个问题要怎么解决?另外还有一处地方不大明白,用记事本打开C:\Program Files\Apache Software Foundation\Tomcat6.0\webapps\myapp\WEB-INF目录下的web.xml如下所示,添加后的内容如下:
这句话是说把那段代码添加进去还是覆盖原来的代码?
--------------------------------------------------------------------------------Apache Tomcat/6.0.14
这是出错页面提示,忘了加上去了
<servlet-name>HelloWorld </servlet-name>
<servlet-class>HelloWorld </servlet-class> </servlet> 这里的class路径你看看吧,改成servlet.HelloWorld 试试