0

0

Java中myeclipse开发servlet的图文教程

黄舟

黄舟

发布时间:2017-07-26 15:04:57

|

2678人浏览过

|

来源于php中文网

原创

myeclipse,是在eclipse基础上加上自己的插件开发而成的功能强大的企业级集成开发环境,主要用于java、java ee以及移动应用的开发。下面这篇文章主要给大家介绍了关于myeclipse开发servlet的相关资料,需要的朋友可以参考下。

  在web.xml中可以对同一个Servlet配置多个对外访问路径,并如果在web.xml中配置的信息服务器会自动加载部署,而如果是在Servlet中进行程序代码的修改,则每次都要重新部署。

  首先,在使用MyEclipse创建Servlet后,会根据所创建的Servlet进行到web.xml文件的映射,如下图所示:

  

经过这个映射之后,在web.xml文件中就自动生成了这个Servlet的配置信息:

立即学习Java免费学习笔记(深入)”;

  

  当然,我们可以在web.xml文件中把这个Servlet继续添加一条对外访问路径,使得这个Servlet可以从不同路径进行访问,现在我们在服务器开启的情况下,为这个Servlet添加一个新的对外访问路径好了:

  

红框部分是新添加的,这时候服务器在Console窗口会自动提示已经重新部署,是的,只要在web.xml中修改的都无需关闭服务器就可以被服务器重新更新加载部署:

  

那么我们试试新的访问地址:

  

可以访问!!

  细节二:在web.xml中为Servlet配置对外访问路径的可以使用“*”作为通配符,但是这种只能有两种格式:

  一种格式是整个内容只能有“*.扩展名” ,如*.html,而如果写成这样abc/*.html就是错误的。尤其是/*.html也是错误的,不能有“/”,一定要注意。例:

  

在浏览器可以在通配符位置随便输入:

  

这样造成了一种伪静态的现象,我们以为是访问一个静态的页面,其实却是一个动态web资源。

  另一种格式是以正斜线“/”开头,加自定义路径,以“/*”结尾,如/abc/*。这时候连扩展名都任意了。例:

  

在浏览器的地址栏内可以在通配符位置随便输入,扩展名都不需要:

  

  

  细节三:由细节二导出的多个Servlet资源的映射路径如果使用了通配符,就可能发生冲突,那么这时候服务器将会以哪个Servlet资源作为响应呢?我们看一下下面的问题,就能明白了:

  

  细节四: 在Servlet的整个生命周期内,Servlet的init()方法只会被调用一次。而对于Servlet的每次访问请求,Servlet都会调用service()方法一次。并对于每次的请求访问,Servlet都会创建一个新的HttpServletRequest请求对象和新的HttpServletResponse响应对象。当然在每次请求访问完成之后,这些请求对象和响应对象会立马被销毁,等待下次请求再重新创建,这样就能给服务器减小压力(非并发情况下)。

  细节五:之前谈到的Servlet在服务器部署后,都是只在第一次对该Servlet访问时才由服务器创建Servlet的实例对象,而如果在web.xml中在某个标签下配置标签,则该Servlet会在服务器启动后就创建实例对象,并执行Servlet的初始化init()方法。的内容为一个正整数值。该值越小,代表在服务器启动后优先创建Servlet对象并执行初始化方法。

  细节六:如果某个Servlet的映射路径仅仅为一个正斜线“/”,那么这个Servlet就称为当前web应用的默认Servlet。凡是在web.xml文件中找不到匹配的标签的URL,它们的访问请求都是交个默认Servlet来处理,也就是说默认Servlet用于处理所有其他Servlet都不处理的访问请求。

  例如我现在创建两个Servlet,其中一个有自定义的对外映射路径,而另一个设置成了默认Servlet:

Kuwebs企业网站管理系统3.1.5 UTF8
Kuwebs企业网站管理系统3.1.5 UTF8

酷纬企业网站管理系统Kuwebs是酷纬信息开发的为企业网站提供解决方案而开发的营销型网站系统。在线留言模块、常见问题模块、友情链接模块。前台采用DIV+CSS,遵循SEO标准。 1.支持中文、英文两种版本,后台可以在不同的环境下编辑中英文。 3.程序和界面分离,提供通用的PHP标准语法字段供前台调用,可以为不同的页面设置不同的风格。 5.支持google地图生成、自定义标题、自定义关键词、自定义描

下载

  

要想访问SecondServlet就必须按照其对应的路径在浏览器地址栏中键入:

  

而对于默认Servlet,则是在web应用名后随便输:

  

(如果不输则会显示的是已有的首页index.jsp,为什么呢,请看下面细节六)

  细节六(重要) :如果我们在自己开发的Servlet中没有配置默认Servlet,而是直接访问我们web工程下的一个静态web资源的话(如果有),那么我们将能从浏览器中看到这个web资源,记住:请求任何web资源都是以某个Servlet来响应回传数据的,那么既然我们没有配置默认Servlet的话,为什么能访问到这个资源呢?换句话说,是哪个Servlet将我们需要的资源响应给我们看的?答案就是Tomcat服务器的默认Servlet!!!Tomcat服务器的默认Servlet在Tomcat的【conf】目录下的web.xml文件中设置了映射路径:

  

  从Tomcat的web.xml文件中可以看出,其默认Servlet在服务器启动就创建实例对象,并且是最早创建的,对外路径已经设置了默认格式。而这个默认Servlet会管理每个自定义创建的Servlet工程,如果我们没有在自己的web工程中创建默认Servlet,那么要访问自己web工程中的某个资源时,Tomcat的默认Servlet会帮我们将该资源封装成响应对象传回客户端。

  例如,我在我的web工程下创建一个1.html页面:

  

而我去浏览器访问这个页面:

   

  对于这个URL,Tomcat服务器首先去配对我的Servlet是否有对应的映射路径,如果没有,并且如果我没有在自己的web工程中设置默认Servlet,那么Tomcat的默认Servlet就在我的web应用下搜寻HTTP请求的资源,找到并封装成响应对象返回给客户端。如果Tomcat的默认Servlet找不着所需的资源,那它依然会响应客户端,只是客户端看到的是一些提示找不着该资源,如404提示。另外,根据这个过程,我们在开发自己的Servlet时,建议不要将自己的某个Servlet映射成默认Servlet为好。

  接下来,讨论一个首页的问题。除了我们访问web应用中某个特定资源(在浏览器地址上最后键入一个文件名),还会是在键入web应用名之后就发送HTTP请求了,这时候我们看到的也是一个页面,通常称为“首页”,而这个首页,也是由默认Servlet来响应的。

  例如我使用MyEclipse创建一个web应用时就会默认帮我创建一个“index.jsp”文件:

  

而我在该web应用中没有创建任何Servlet,或者即使创建Servlet也映射到某个特定的对外URL上,那么我在浏览器输入主机地址+web应用名依然能看到这个index.jsp:

  

由前面所说,这个页面肯定是由Tomcat服务器的默认Servlet传回给客户端的,那么Tomcat服务器为什么是传回这个资源呢,而不是别的资源呢?答案还是在web.xml文件中,还记得之前《Tomcat详细用法学习(三)》中定义的首页设置吗,对,就是这个方法,这个方法由默认Servlet来管理,我们再来回顾下在Tomcat的web.xml文件中的标签:

  

  如果浏览器的输入地址只输入了web应用名,那么Tomcat的默认Servlet传送这个web应用下的index.html文件,否则传送index.htm文件,再否则传送index.jsp,如果三个都没有那么只能返回404了。

  如果我把这段代码注释掉或删掉,再想直接访问web应用名就跟我把index.jsp文件删除一样,Tomcat的默认Servlet找不到资源,返回404提示(在MyEclipse中需要重启服务器):

  

  

所以如果我们想为自己的web应用弄出个漂亮首页,只需要在index.jsp中开发就行了,或者另外创建一个index.html文件开发,这个文件会比index.jsp更优先被访问。

  细节七:因为我们的开发Servlet都要继承Servlet接口的某个实现类,那么我们在编写doGet方法或者doPost方法的时候很可能调用了某些会抛出异常的方法,那么我们对这些异常只能捕获处理,而不能抛出,这是因为子类在覆盖父类的方法时,不能抛出比父类更多的异常。

总结

相关文章

java速学教程(入门到精通)
java速学教程(入门到精通)

java怎么学习?java怎么入门?java在哪学?java怎么学才快?不用担心,这里为大家提供了java速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载

相关标签:

本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

相关专题

更多
云朵浏览器入口合集
云朵浏览器入口合集

本专题整合了云朵浏览器入口合集,阅读专题下面的文章了解更多详细地址。

0

2026.01.20

Java JVM 原理与性能调优实战
Java JVM 原理与性能调优实战

本专题系统讲解 Java 虚拟机(JVM)的核心工作原理与性能调优方法,包括 JVM 内存结构、对象创建与回收流程、垃圾回收器(Serial、CMS、G1、ZGC)对比分析、常见内存泄漏与性能瓶颈排查,以及 JVM 参数调优与监控工具(jstat、jmap、jvisualvm)的实战使用。通过真实案例,帮助学习者掌握 Java 应用在生产环境中的性能分析与优化能力。

20

2026.01.20

PS使用蒙版相关教程
PS使用蒙版相关教程

本专题整合了ps使用蒙版相关教程,阅读专题下面的文章了解更多详细内容。

62

2026.01.19

java用途介绍
java用途介绍

本专题整合了java用途功能相关介绍,阅读专题下面的文章了解更多详细内容。

87

2026.01.19

java输出数组相关教程
java输出数组相关教程

本专题整合了java输出数组相关教程,阅读专题下面的文章了解更多详细内容。

39

2026.01.19

java接口相关教程
java接口相关教程

本专题整合了java接口相关内容,阅读专题下面的文章了解更多详细内容。

10

2026.01.19

xml格式相关教程
xml格式相关教程

本专题整合了xml格式相关教程汇总,阅读专题下面的文章了解更多详细内容。

13

2026.01.19

PHP WebSocket 实时通信开发
PHP WebSocket 实时通信开发

本专题系统讲解 PHP 在实时通信与长连接场景中的应用实践,涵盖 WebSocket 协议原理、服务端连接管理、消息推送机制、心跳检测、断线重连以及与前端的实时交互实现。通过聊天系统、实时通知等案例,帮助开发者掌握 使用 PHP 构建实时通信与推送服务的完整开发流程,适用于即时消息与高互动性应用场景。

19

2026.01.19

微信聊天记录删除恢复导出教程汇总
微信聊天记录删除恢复导出教程汇总

本专题整合了微信聊天记录相关教程大全,阅读专题下面的文章了解更多详细内容。

160

2026.01.18

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
Servlet参考手册
Servlet参考手册

共0课时 | 0人学习

Servlet基础教程
Servlet基础教程

共24课时 | 14.9万人学习

Tomcat核心原理解析
Tomcat核心原理解析

共57课时 | 6.9万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号