localhost上的服务器Tomcat v8.0服务器无法启动。在web.xml文件中声明servlet名称和映射之后

时间:2016-01-08 11:03:59

标签: jsp servlets

我正在为hello world创建一个简单的servlet,以检查servlet是否正常工作,但在运行servlet并映射web.xml文件后,它给我一个错误。

enter image description here

我的代码:

enter image description here

Web.xml中    enter image description here

请帮我解决我的问题??

6 个答案:

答案 0 :(得分:7)

我遇到了同样的问题。删除web.xml中对servlet的任何引用都解决了这个问题(这些映射已经在带有注释的servlet类中定义)

答案 1 :(得分:1)

请按照以下步骤操作:

  1. 右键单击" Tomcat v8.0 Server at localhost",单击删除选项。
  2. 点击链接"没有可用的服务器。单击此链接以创建新服务器"将在“服务器”选项卡中提供。一个 盒子会打开。
  3. 现在点击蓝色链接"配置运行时环境",将打开一个框。单击apache tomcat服务器并按"删除" 按钮。应用更改。
  4. 然后添加您正在使用的服务器(v8.0)并单击“完成”按钮。
  5. 现在运行该程序。希望它有所帮助:)

答案 2 :(得分:1)

试试这个, 右键单击您的服务器并选择干净的tomcat工作目录,它将自动停止以清理tomcat工作目录并自行启动。

它对我有用

答案 3 :(得分:0)

当您开始创建项目时,出现此错误的一个原因是“一开始”。当您打开文件>>新>>“动态网站项目”

在“动态Web项目”弹出窗口中: 目标运行时:Apache Tomcat v7.0或Apache Tomcatv8.0

动态Web模块版本:“IT应该设置为2.5”,如果它高于“2.5”,您将收到Tomcat错误,因为最新版本支持注释,并且不需要您将在下一步中附加的web.xml描述符文件。

将配置保持为:自定义

保持其他一切相同。在点击完成之前,请检查web.xml复选框。

希望这有帮助。

答案 4 :(得分:0)

出现此问题是因为您的@WebServlet引用了使用web.xml注释注释的servlet。

如果要使用部署描述符(@WebServlet)注册servlet,则必须在servlet类中删除@WebServlet( urlPatterns = { "/HelloWorld" }, initParams = { @WebInitParam(name = "name", value = "helloworld") }) 注释。

<servlet>

或删除<servlet-mapping>中定义的web.xml@WebServlet,以便使用<servlet> <servlet-name>HelloWorld</servlet-name> <servlet-class>com.jsp.first.HelloWorld</servlet-class> </servlet> <servlet-mapping> <servlet-name>HelloWorld</servlet-name> <url-pattern>/HelloWorld</url-pattern> </servlet-mapping>

function createModal(){
  var dataModal = "";
      var countModal = $(".modalWrap").length;
      if(typeof countModal === "undefined" || countModal == 0){
        countModal = 0;
      }
      /*this just an example, you can try improv it more like load file or url to fill your modal data.*/
      dataModal = '<div align="center" class="modalWrap" id="modal-'+(countModal+1)+'" style="z-index:'+(countModal+1)+'"><div class="modalBody" id="modalBody-'+(countModal+1)+'"> <h1>This Modal '+(countModal+1)+'</h1><input type="button" value="modal create" onclick="createModal();"/> <input type="button" onclick="closeModal(\'#modal-'+(countModal+1)+'\');" value="close modal"/></div></div>';
      $('body').append(dataModal);
}

function closeModal(idModal){
$(idModal).remove();
}

它应该有用。

答案 5 :(得分:0)

我克隆了一个默认创建的Servlet,忘了重命名@WebServlet(“/ MyServlet”)。 在我重命名之后,它对我有用。 :d