Servlet 动态Web项目-使用Dynamic Web Project的方式开发J2EE应用

  • 说明

    本知识点采用动态Web项目-Dynamic Web Project的方式把 Java project+独立Tomcat的Hello Servlet 重新做一遍。
  • 新建Dynamic Web Project

    新建Dynamic Web Project
    File->New->Other->Web->Dynamic Web Project
  • Servlet类

    创建 HelloServlet
    注意:eclipse创建的时候会自带一个包名j2ee,不要使用这个包名,让包名置空

    import java.io.IOException;
    import java.util.Date;
      
    import javax.servlet.http.HttpServlet;
    import javax.servlet.http.HttpServletRequest;
    import javax.servlet.http.HttpServletResponse;
      
    public class HelloServlet extends HttpServlet{
      
        public void doGet(HttpServletRequest request, HttpServletResponse response){
              
            try {
                response.getWriter().println("<h1>Hello Servlet!</h1>");
                response.getWriter().println(new Date().toLocaleString());
            } catch (IOException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }
        }
          
    }
  • 解决HttpServlet找不到问题

    默认的Dynamic Web Project并不会导入servlet-api.jar,所以Servlet会出现编译错误。
    下载servlet-api.jar,并复制到e:/project/j2ee/WebContentWEB-INF/lib 目录下
  • 刷新项目

    复制好之后,右键点击项目,刷新即可。 这个动作,会导致当前项目的build path->Libraries里的 Web App Libraries 自动加上这个servlet-api.jar包,这样HelloServlet就编译通过了
  • web.xml

    在WEB-INF目录中创建 web.xml

    <?xml version="1.0" encoding="UTF-8"?>
    <web-app>
      
        <servlet>
            <servlet-name>HelloServlet</servlet-name>
            <servlet-class>HelloServlet</servlet-class>
        </servlet>
      
        <servlet-mapping>
            <servlet-name>HelloServlet</servlet-name>
            <url-pattern>/hello</url-pattern>
        </servlet-mapping>
      
    </web-app>
  • 通过Eclipse启动Tomcat-Run On Server

    接下来就是在eclipse中配置Tomcat并启动,这个需要好几个步骤完成。
    首先右键项目 -> Run As -> Run on Server
  • 通过Eclipse启动Tomcat-服务器选择Tomcat v7.0 Server

    这里选中Tomcat v7.0 Server, 如果你使用的是更高版本的eclipse,这里还可以看到Tomcat v9.0 Server. 
    本知识点使用Tomcat 为例进行讲解,其他版本的Tomcat使用类似的操作。
  • 通过Eclipse启动Tomcat-指定Tomcat服务器地址

    然后指定Tomcat目录所在位置,这里使用的位置是:
    D:\tomcat7-8080-eclipse,这个位置的Tomcat 在右上角可以下载。
    表示版本是7的tomcat,端口号是8080.
  • 通过Eclipse启动Tomcat-部署

    然后就是下一步,把当前项目作为 "j2ee" 部署在tomcat中。
  • 测试

    部署成功之后,访问地址:
    http://127.0.0.1:8080/j2ee/hello

    需要注意的是,因为在上一步部署的时候,使用的是j2ee这个配置,所以这里访问的时候有路径名称j2ee,与 前面的独立Tomcat部署方式不一样,那个没有j2ee这个路径
    http://127.0.0.1/hello
  • 关闭Eclipse中的Tomcat

    以Eclipse的方式启动Tomcat,其实就是一个普通的Java 进程,只需要在Console 面板关闭即可
  • Eclipse中启动Tomcat问题-端口

    启动的时候,如果出现这个错误窗口,就表示端口8080和8089被占用了。 请使用端口排查找出端口被哪个程序占用了
  • 需要注意的几点

    1. 类文件会被输出到build里,而不是WEB-INF/classes目录下
    2. 当有类或者配置文件变化时,会自动重启,无需手动重启Tomcat. 但是不稳定,当很许多类改动,新加了jar包,新增加了配置文件等等,都有可能导致自动重启失效,所以最好还是手动重启,确保重启成功。
    3. WebContent会被整个复制到 E:\project\.metadata\.plugins\org.eclipse.wst.server.core\tmp0\wtpwebapps\j2ee 这个位置下面去,Eclipse中启动的tomcat其实是访问的这个位置。所以当WebContent里的内容比较多的时候,就会花较长时间复制。
    4. 因为第3条的原因,第1条在build里生成的类和配置文件,也会被复制到第3条所说的位置

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值