Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/311.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 为什么servlet没有';不行?_Java_Eclipse_Jsp_Servlets - Fatal编程技术网

Java 为什么servlet没有';不行?

Java 为什么servlet没有';不行?,java,eclipse,jsp,servlets,Java,Eclipse,Jsp,Servlets,总之,我是Java web开发的新手,我正试图在测试中实现一个Servlet。但是我发现我创建的Servlet不起作用。我不知道我是否错过了什么。请帮我复习一下。谢谢 到目前为止,我所做的是: 使用选项创建了名为SecondWeb的动态Web项目 生成web.xml DD 在包下添加了名为HelloServlet的Servlet com.example.servlets。我使用这些值配置URL映射 /HelloServlet和/*。希望它能适用于所有的url模式 根下 这是它的代码 packag

总之,我是Java web开发的新手,我正试图在测试中实现一个Servlet。但是我发现我创建的Servlet不起作用。我不知道我是否错过了什么。请帮我复习一下。谢谢

到目前为止,我所做的是:

  • 使用选项创建了名为
    SecondWeb
    动态Web项目
    
    生成web.xml DD
  • 在包下添加了名为
    HelloServlet
    Servlet
    com.example.servlets
    。我使用这些值配置
    URL映射
    /HelloServlet
    /*
    。希望它能适用于所有的url模式 根下
  • 这是它的代码

    package com.example.servlets;
    
    import java.io.IOException;
    import javax.servlet.ServletException;
    import javax.servlet.http.HttpServletRequest;
    import javax.servlet.http.HttpServletResponse;
    
    /**
     * Servlet implementation class for Servlet: HelloServlet
     *
     */
     public class HelloServlet extends javax.servlet.http.HttpServlet 
         implements javax.servlet.Servlet {
    
        /* (non-Java-doc)
         * @see javax.servlet.http.HttpServlet#HttpServlet()
         */
        public HelloServlet() {
            super();
        }       
    
        /* (non-Java-doc)
         * @see javax.servlet.http.HttpServlet#doGet(HttpServletRequest request, 
             HttpServletResponse response)
         */
        protected void doGet(HttpServletRequest request, HttpServletResponse response) 
            throws ServletException, IOException {
            response.getWriter().write("Hello, world!");
        }   
    
        /* (non-Java-doc)
         * @see javax.servlet.http.HttpServlet#doPost(HttpServletRequest request, 
             HttpServletResponse response)
         */
        protected void doPost(HttpServletRequest request, HttpServletResponse response) 
            throws ServletException, IOException {
            // TODO Auto-generated method stub
        }               
    }
    
    我还添加了一个
    index.jsp
    加入测试

    <%@ page language="java" contentType="text/html; charset=ISO-8859-1"
        pageEncoding="ISO-8859-1"%>
    <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" 
        "http://www.w3.org/TR/html4/loose.dtd">
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
    <title>My Title</title>
    </head>
    <body>
    <% java.util.Date d = new java.util.Date(); %>
    <h1>
    Today's date is <%= d.toString() %> and this jsp page worked!
    </h1>
    </body>
    </html>
    
    
    我的头衔
    今天的日期是,这个jsp页面工作了!
    

    我所期望的是,当访问URL
    http://localhost:8080/SecondWeb
    http://localhost:8080/SecondWeb/index.jsp
    。但是,
    HelloServlet
    似乎不起作用。为什么?谢谢。

    我发现了问题,我必须在
    Web.xml
    中添加
    Servlet
    配置。如下所示,在根元素下:

        <servlet>
            <servlet-name>HelloServlet</servlet-name>
            <servlet-class>com.example.servlets.HelloServlet</servlet-class>
        </servlet>
        <servlet-mapping>
            <servlet-name>HelloServlet</servlet-name>
            <url-pattern>/*</url-pattern>
        </servlet-mapping>
    
    
    HelloServlet
    com.example.servlets.HelloServlet
    HelloServlet
    /*
    
    HelloServlet
    不工作意味着它没有被调用?当你点击
    http://localhost:8080/SecondWeb/index.jsp
    ?我没有看到在jsp页面中调用或包含helloworld servlet的任何代码。@VikasV是的。我在
    doGet
    中设置了一个断点,但它没有被触发。谢谢