java web服务器配置问题

来源:互联网 发布:网络新开游戏 编辑:程序博客网 时间:2024/06/15 23:51
  1. Servlet的时候eclipse已经帮助建好了url-patten。

  2. @WebServlet("/HelloWorld")
  3. public class HelloWorld extends HttpServlet {
  4. private static final long serialVersionUID = 1L;
  5.        
  6.     /**
  7.      * @see HttpServlet#HttpServlet()
  8.      */
  9.     public HelloWorld() {
  10.         super();
  11.         // TODO Auto-generated constructor stub
  12.     }

  13. /**
  14. * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
  15. */
  16. protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
  17. // TODO Auto-generated method stub
  18. doPost(request,response);
  19. }

  20. /**
  21. * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
  22. */
  23. protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
  24. // TODO Auto-generated method stub
  25. String u_name=request.getParameter("u_name");
  26. String ad="Welcome,"+u_name;
  27. request.setAttribute("ad", ad);
  28. request.getRequestDispatcher("/welcome.jsp").forward(request, response);  
  29. }

  30. }
  31. 打开你的Servlet类,你会发现在类上面有一个@WebServlet("/HelloWorld")。

    如果你在web.xml里面这样写:

    <servlet>

      <servlet-name>helloworld</servlet-name>

      <servlet-class>HelloWorld</servlet-class>

      </servlet>

      <servlet-mapping>

      <servlet-name>helloworld</servlet-name>

      <url-pattern>/HelloWorld</url-pattern>

     </servlet-mapping>

    就是报错。

  32. 解决方法一:

    去掉类上面的@WebServlet("/HelloWorld")。在web.xml写<servlet-mapping>。

  33. 解决方法二:

    在web.xml里不写  <servlet-mapping>,而要保留@WebServlet("/HelloWorld")。如下web.xml:

    <?xml version="1.0" encoding="UTF-8"?>

    <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://xmlns.jcp.org/xml/ns/javaee" xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd" id="WebApp_ID" version="3.1">

      <display-name>HelloWorld</display-name>

      <welcome-file-list>

        <welcome-file>index.html</welcome-file>

      </welcome-file-list>

      

      <servlet>

      <servlet-name>helloworld</servlet-name>

      <servlet-class>HelloWorld</servlet-class>

      </servlet>

      

     

    </web-app>

进一步查看代码发现原来servlet类里面已经有一个:@WebServlet("/demo"),这好像是一个新特性,可以免去自己在web.xml中修改映射关系的过程,有可能是有重复定义的嫌疑,导致编译出错。

0 0
原创粉丝点击