2017-06-22 172 views
0

虽然Sun Microsystems定义的Servlet结构明确为a bit different,但Eclipse maps to the Web application archive (WAR) structure defined by Sun Microsystems中的简单动态Web项目的项目目录结构明确。Eclipse中动态Web项目中Servlet目录结构的实现

我只想知道,当我在Dynamic Web项目内创建一个单独的Servlet类时,如何完成对Servlet类文件的映射?我住进web.xml中,也没有相应的servletservlet-mapping孩子,当我运行应用程序时,URL类似于

http://localhost:8080/firstServlet/Hello 

其中firstServlet是我的项目名称和你好是servlet类。

1.如何知道要运行哪个类?我的意思是没有url-pattern指定为你好那么为什么网址是这样的?如果没有url-pattern,不应该只是http://localhost:8080/firstServlet

2.此外,这个项目结构如何在上面提到的标准servlet项目结构内部设置?

非常感谢!

+2

检查代码中是否存在任何@WebServlet注释,还可以通过这些 – BigMike

回答

1

我猜,你正在使用它不需要与任何web.xml中映射

你的servlet的URL模式将类似于下面的注释配置:

@WebServlet(name = "someThing", urlPatterns = {"/Hello"}) 

从Servlet的3.0新功能使您能够将您的servlet Hello映射到您的Web App firstServlet

+0

来映射Servlet和过滤器是的,我想如果我们移除注释并将servlet和servlet-mapping子项添加到web.xml中'url-pattern' ='\ Hello',它的工作原理是一样的。 我不明白的是,当我试图把'url-pattern'设置为'/ welcome'时,它不起作用,这种情况并非如此[https://www.javatpoint.com/steps -to-创建-A-servlet的使用-tomcat的服务器)。正如你看到的,类名是'DemoServlet',但他使用'/ welcome';当我使用除'/ Hello'以外的任何东西时,它不起作用,我不明白,因为我已经在web.xml中提到'servlet-class'为'Hello'。 –

+1

Url模式可以是任何字符串,但是servlet名称应该与您的servlet类名称相同。检查servlet名称是'Hello',而。模式是'/ welcome'。此外,需要重新部署您的Web应用程序。 –

+0

我很抱歉!只要类名称正确,它实际上可以与任意字符串一起工作,但我一定没有正确刷新它!谢谢。 –