新手被servlet和tomcat伤害了,看他如何反击

302 查看

Author:AgsTing
CreateDate:2016-8-16
主题:关于Eclipse中Tomcat配置、Servlet调用的正确流程探讨
前面一段时间再学习javaSE的时候,遇到最困难的地方也就是数据库的操作,到了学习javaEE时,学习的内容涉及到了javaweb,需要先学习html、js、jsp、html5、tomcat、servlet等核心内容,前面几个工具倒是没有那么复杂,后面学习到tomcat和servlet时,涉及的课程中使用的eclipse、servlet的工具已经升级,而网上现在的课程都没有更新这一块的内容。当你按照网上教程在学习servlet时,你用到的工具和教程不一样,使用的步骤不一样,出现问题的时候,出现的问题主要有两个:
1、404错误,说找不到servlet类(ClassNotFound)
2、在web项目目录下的build文件中,看不到被编译的servlet类的class文件
被这个问题反复折磨,在网上、书上仔细研究,最终也没研究出个啥,我的头就变成三个大了。小编持续三个大已经四天了,今天早上终于让我琢磨出来了,只要按照我说的这个方式调用servlet,就可以访问到。
一、安装tomcat并配置环境变量
这个在网上有很多了,我就不罗嗦了。一定要通过cmd验证java、javac、java -version,通过http://localhost:8080/验证tomcat配置。两个都没有问题以后我们进入下一步。
二、eclipse中的配置
1、打开eclipse,切换到javaEE;
2、新建一个动态web工程
注意:勾选上web.xml,我们要手动自己创建映射路径
图片描述
图片描述
3、创建首页index.jsp
index.jsp/index.html都可以作为项目的首页,我们在其中测试调用servlet的访问,用超链接的方式:
图片描述
4、在src目录下创建一个servlet包,并在包下创建一个servlet类(HelloServlet)
注意:
在里面我们把//@WebServlet("/HelloServlet")中注释掉,我们用web.xml来配置访问路径,它的这个注释路径不好使,我们还是自己手动配置吧。哈哈
图片描述

 public class HelloServlet extends HttpServlet {
  private static final long serialVersionUID = 1L;
   public HelloServlet() {
    super();
}
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
    response.getWriter().append("Served at: ").append(request.getContextPath());
}
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
    // TODO Auto-generated method stub
    doGet(request, response);
}

}
web.xml的内容:

<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"       xmlns="http://java.sun.com/xml/ns/javaee"    xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" id="WebApp_ID" version="3.0">
<display-name>MyFirstServletDemo</display-name>
<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>

 <servlet>
     <servlet-name>HelloServlet</servlet-name>
     <servlet-class>servlet.HelloServlet</servlet-class>
  </servlet>
<servlet-mapping>
<servlet-name>HelloServlet</servlet-name>
<url-pattern>/HelloServlet</url-pattern>

</servlet-mapping>
</web-app>
映射的配置中,

  • servlet-name的意思是你给你配置的这个servlet起个名字,最好写成你的类名,这样好记忆;
  • servlet-class很简单,就是包.类名就可以了;
  • url-pattern写的时候直接写 / 加上你的类名就可以了

到这里我们的web工程就写完了。

5、添加tomcat服务器

  • 记得选择jre7
    图片描述
    6、web项目发布
    选择Add and Remove,将项目添加到tomcat服务器上。
    图片描述
    然后我们在服务器下面就能看到我们发布的项目了。
    图片描述
    7、启动tomcat
    8、在浏览器中输入http://localhost:8080/MyFirstServletDemo,就可以看到项目默认的首页了
    图片描述
    点击超链接,就可以访问servlet了。
    图片描述

特别提醒:

  • 在项目发布到服务器上以后,打开项目所在目录(右击查看properties),我的项目配置在C:\Users\Administrator\workspace\MyFirstServletDemo这个位置,打开,看到项目目录,打开build,如果没有出现class文件,则servlet类是没有完成编译的,此时,你要回去找你的环境变量配置是否有问题,不行的话,把tomcat删除,重新安装并配置。
  • 还有一点:要处理好控制台里提示的“警告”,在网上查找都能找到,都解决了以后,再进行访问,才能确保成功。

机智的小编还是赢得了胜利!耶!