myeclipse创建servlet_动力节点Java学院整理

 更新时间:2017年07月26日 10:19:51   作者:fjdingsd  
这篇文章主要为大家详细介绍了myeclipse创建servlet的相关资料,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

现在我们来创建一个web应用,就叫【myservlet】好了,如下图所示:

可以从项目窗口中看出,只要创建web工程,就会自动帮我们创建【WEB-INF】目录,并在其下创建【lib】目录和web.xml文件。我们顺便来看一下刚创建的web.xml文件内容:

Web.xml文件中只有设置主页而已,为什么先看这个,稍后会说到。

我们当然可以按照《Servlet的学习(一)》中的方法来建立Servlet,即创建一个类来继承Servlet的实现类GenericServelet,复写service()方法,并在web.xml文件中配置这个Servlet。

但是!!!我们并不使用继承GenericServelet类的方式,而是去继承GenericServelet类的子类HttpServlet类。这么做有什么好处呢?HttpServlet是指能够处理HTTP请求的Servlet,它在原有Servlet的接口上添加了一些HTTP协议处理方法,比Servlet接口的功能更加强大,所以我们只需要继承HttpServlet类就可以了。如果你在MyEclipse中对web工程建立Servlet也是可以看到MyEclipse是默认将你创建的Servlet继承HttpServlet的,如下图所示:

选择【Servlet】,弹出,写好包名和我要创建的Servlet名:SecondServlet,如下图:

可以看到MyEclipse自动将你要创建的Servlet的父类选择为HttpServlet。  

当我们选择了HttpServlet类作为要继承的Servlet父类,那么就该知道HttpServlet类已经复写了service()方法,这个方法内的代码会自动判断用户的请求方式,如果为GET请求,则调用HttpServlet的doGet()方法;如果为POST请求,则调用doPost()方法,因此我们开发的时候,只需要复写doGet()方法或doPost()方法,无需再去复写service()方法。具体可以看Servlet的API文档中有关HttpServlet的详细内容。

我们勾选doGet方法和doPost方法,其他方法根据实际情况添加。接着点击【Next】,会看到另一个设置窗口:

  【Generate/Map web.xml file】:将创建好的Servlet映射到web.xml文件中,这样能省我们很多事,当我们选择将Servlet映射进web.xml文件中时,就可以根据下面几个指定来设置映射到web.xml文件中哪些内容。

  【Servlet/JSP Class Name】:这是作为在web.xml文件中<servlet-class>标签中的内容。

  【Servlet/JSP Name】:设置在web.xml文件中<servlet-name>标签中的内容。

  【Servlet/JSP Mapping URL】:设置web.xml文件中<servlet-mapping>标签下<url-pattern>标签的内容,也就是设置该Servlet的对外访问路径。

  【File Path of web.xml】:该web.xml的路径,一般不用设置。

  点击完成之后,我们再来看看web.xml文件,是的,刚才设置的Servlet到web.xml文件的映射都已经被MyEclipse在web.xml文件中添加好了,为我们省事了不少。如下图所示:

我们来看看Servlet中的内容:

  是的,有点乱,这是因为MyEclipse在创建Servlet时是按模板生成的,这里我们可以将这些不需要的代码先去除,最后的部分我们再来讲解如何修改MyEclipse中的Servlet模板。

  在这种继承HttpServlet的Servlet开发中,我们只关心doGet方法和doPost方法,对于不知何时http请求是GET方式何时是POST方式来说,可以使用以下“小聪明”的方式来满足在一个方法中同时处理GET请求或POST请求:

  

刚才说到在HttpServlet中的service()方法已经复写了其父类GenericServlet的service()方法,那我们就来看一下HttpServlet中的service()方法,将光标点击HttpServlet,然后按下键盘“F3”键,会发现:

缺少Servlet的jar包源码,这里我们有两种解决方式:

  一、到sun官网或oracle官网下载Servlet源码;

  二、到Apache-Tomcat官网下载Tomcat的源码,这里我选择这种方式:

选择zip格式就可以(貌似tar.gz是给Linux用的)。

下载解压后,目录后面是带有“src”字样:

那么我们就可以在MyEclipse中点击“Attach Source”,因为是导入整个目录,所以选择“External Folder”即可,导入之后我们就可以看到HttpServlet的源码了,看到其service()方法,代码较长,这里就不附出,但思想就是先获取请求对象HttpServletRequest的请求方式,然后用if判断来针对各个请求调用不同的方法,如doGet方法或doPost方法。

  接下来我们就可以安心回到刚刚创建的Servlet,在doGet方法中编写代码,我们就写个简单的返回客户端一点数据好了:

public void doGet(HttpServletRequest request, HttpServletResponse response)
      throws ServletException, IOException {
    
    OutputStream out = response.getOutputStream();
    out.write("Hello servlet again !".getBytes());
    
  } 

  接着启动服务器,并将这个写好的Servlet发布

最后,我们就能在浏览器查看:

  

  记住,在地址栏中输入完主机地址和端口(如果有)后,如果web.xml没有另外设置的话,跟的是web项目名称和你在web.xml文件中为该Servlet设置的对外访问路径。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

相关文章

  • Java使用FastExcel导入支持多种时间格式

    Java使用FastExcel导入支持多种时间格式

    FastExcel 是一个采用纯 java 开发的 excel 文件读写组件,支持 Excel'97(-2003)(BIFF8)文件格式,本文主要介绍了如何使用FastExcel导入支持多种时间格式,感兴趣的可以了解
    2024-12-12
  • 详解Spring boot上配置与使用mybatis plus

    详解Spring boot上配置与使用mybatis plus

    这篇文章主要介绍了详解Spring boot上配置与使用mybatis plus,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-05-05
  • 一个例子带你看懂Java中synchronized关键字到底怎么用

    一个例子带你看懂Java中synchronized关键字到底怎么用

    synchronized是Java里的一个关键字,起到的一个效果是"监视器锁",它的功能就是保证操作的原子性,同时禁止指令重排序和保证内存的可见性,下面这篇文章主要给大家介绍了关于如何通过一个例子带你看懂Java中synchronized关键字到底怎么用的相关资料,需要的朋友可以参考下
    2022-10-10
  • Java基于PDFbox实现读取处理PDF文件

    Java基于PDFbox实现读取处理PDF文件

    PDFbox是一个开源的、基于Java的、支持PDF文档生成的工具库,它可以用于创建新的PDF文档,修改现有的PDF文档,还可以从PDF文档中提取所需的内容。本文将具体介绍一下PDFbox读取处理PDF文件的示例代码,感兴趣的可以学习一下
    2022-02-02
  • Java正则表达式API边界匹配

    Java正则表达式API边界匹配

    这篇文章主要介绍了Java正则表达式API边界匹配,文章围绕主题展开相应的相关资料,具有一定的参考价值,需要的朋友可以参考一下
    2022-06-06
  • Java 如何从list中删除符合条件的数据

    Java 如何从list中删除符合条件的数据

    这篇文章主要介绍了Java 如何从list中删除符合条件的数据,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2021-11-11
  • Java回调函数与观察者模式实例代码

    Java回调函数与观察者模式实例代码

    这篇文章主要介绍了Java回调函数与观察者模式实例代码,简单介绍了使用观察者模式的场景,分享了相关代码示例,小编觉得还是挺不错的,具有一定借鉴价值,需要的朋友可以参考下
    2018-02-02
  • Java使用正则表达式验证手机号和电话号码的方法

    Java使用正则表达式验证手机号和电话号码的方法

    今天小编就为大家分享一篇关于Java使用正则表达式验证手机号和电话号码的方法,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧
    2018-12-12
  • 详解Java JDK动态代理

    详解Java JDK动态代理

    这篇文章主要介绍了Java JDK动态代理的相关资料,帮助大家更好的理解和学习Java 代理的有关知识,感兴趣的朋友可以了解下
    2020-08-08
  • POI导出Excel报错No such file or directory的解决方法

    POI导出Excel报错No such file or directory的解决方法

    这篇文章主要为大家详细介绍了POI导出Excel报错No such file or directory的解决方法,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-11-11

最新评论