Server Tomcat v7.0 Server at localhost failed to start.临时解决办法

 

错误名:Server Tomcat v7.0 Server at localhost failed to start.java

解决办法:去掉下面这句话:url

(一般在代码开头部分,public class前)spa

1 @WebServlet("/TwoServlet")

“/TwoServlet”相似的名字code

 

 

@WebServlet这玩意儿到底是什么?

编写好Servlet以后,接下来要告诉Web容器有关于这个Servlet的一些信息。在Servlet 3.0中,可使用标注(Annotation)来告知容器哪些Servlet会提供服务以及额外信息。例如在HelloServlet.java中:blog

1 @WebServlet("/hello.view")
2 public class HelloServlet extends HttpServlet {


只要在Servlet上设置@WebServlet标注,容器就会自动读取当中的信息。上面的@WebServlet告诉容器,若是请求的URL是“/hello.view”,则由HelloServlet的实例提供服务。可使用@WebServlet提供更多信息。it

1 @WebServlet(
2 name="Hello",
3 urlPatterns={"/hello.view"},
4 loadOnStartup=1
5 )
6 public class HelloServlet extends HttpServlet {


上面的@WebServlet告知容器,HelloServlet这个Servlet的名称是Hello,这是由name属性指定的,而若是客户端请求的URL是/hello.view,则由具Hello名称的Servlet来处理,这是由urlPatterns属性来指定的。在Java EE相关应用程序中使用标注时,能够记得的是,没有设置的属性一般会有默认值。例如,若没有设置@WebServlet的name属性,默认值会是Servlet的类完整名称。io


当应用程序启动后,事实上并无建立全部的Servlet实例。容器会在首次请求须要某个Servlet服务时,才将对应的Servlet类实例化、进行初始化操做,而后再处理请求。这意味着第一次请求该Servlet的客户端,必须等待Servlet类实例化、进行初始动做所必须花费的时间,才真正获得请求的处理。class


若是但愿应用程序启动时,就先将Servlet类载入、实例化并作好初始化动做,则可使用loadOnStartup设置。设置大于0的值(默认值为-1),表示启动应用程序后就要初始化Servlet(而不是实例化几个Servlet)。数字表明了Servlet的初始顺序,容器必须保证有较小数字的Servlet先初始化,在使用标注的状况下,若是有多个Servlet在设置loadOnStartup时使用了相同的数字,则容器实现厂商能够自行决定要如何载入哪一个Servlet。容器

相关文章
相关标签/搜索