java web服务器配置问题

  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
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值