您的位置:首页 > 编程语言 > Java开发

java web服务器配置问题

2016-09-24 10:26 375 查看
Servlet的时候eclipse已经帮助建好了url-patten。

@WebServlet("/HelloWorld")

public class HelloWorld extends HttpServlet {

private static final long serialVersionUID = 1L;

       

    /**

     * @see HttpServlet#HttpServlet()

     */

    public HelloWorld() {

        super();

        // TODO Auto-generated constructor stub

    }

/**

* @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)

*/

protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

// TODO Auto-generated method stub

doPost(request,response);

}

/**

* @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)

*/

protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

// TODO Auto-generated method stub

String u_name=request.getParameter("u_name");

String ad="Welcome,"+u_name;

request.setAttribute("ad", ad);

request.getRequestDispatcher("/welcome.jsp").forward(request, response);  

}

}

3

打开你的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>

就是报错。

4

解决方法一:

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

5

解决方法二:

在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中修改映射关系的过程,有可能是有重复定义的嫌疑,导致编译出错。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐