Jetty设置Servlet与JSP页面进行通信

展示

我对JSP和Jetty还是陌生的,我真的很困惑为什么这段代码不起作用。

这是我的主班

    public static void main(String[] args) {

        Server server = new Server(8080);

        // As we are using the Servlet to server responses remove the resource
        // handler.
        ResourceHandler resource_handler = new ResourceHandler();
        resource_handler.setDirectoriesListed(true);
        resource_handler.setWelcomeFiles(new String[] { "index.jsp",
                "index.html" });
        resource_handler.setResourceBase("./target/classes/webapp");

        // Initialise Servlet context handler
        ServletContextHandler context = new ServletContextHandler(
                ServletContextHandler.SESSIONS);

        context.setContextPath("/");



        // Create WebAppContext for JSP files.
        WebAppContext webAppContext = new WebAppContext();
        webAppContext.setResourceBase("./target/classes/webapp");

        HandlerList handlers = new HandlerList();
        handlers.setHandlers(new Handler[] { webAppContext, context,
                resource_handler, new DefaultHandler() });
        server.setHandler(handlers);

        try {
            server.start();
        } catch (Exception ex) {
            ex.printStackTrace();
            System.exit(-1);
        }

    }

这是我的servlet

public class IndexServlet extends HttpServlet {

    private static final long serialVersionUID = 0x1C30CCL;

    @Override
    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        // Set response content type.
        response.setContentType("text/html");
        response.setStatus(HttpServletResponse.SC_OK);

        request.setAttribute("message", "hello");


    }

}

这是我的index.jsp

<%@ page language="java" contentType="text/html; charset=ISO-8859-1"%> 

<!DOCTYPE html>
<html>
<head>
<title>Book a hotel!</title>
</head>
<body>

<form action="index.jsp" method="post">
<input type="text" name="username" placeholder="Enter Username" />
<input type="Submit">
</form>
<p> The current local time at the hotel is: <%= new java.util.Date() %> </p>
    <h1>${message }</h1>

</body>
</html>

这是我的web.xml

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

<web-app xmlns="http://java.sun.com/xml/ns/javaee"
 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
 xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
 version="2.5">


<servlet>
    <servlet-class>ncl.raffaello.IndexServlet</servlet-class>
    <servlet-name>IndexServlet</servlet-name>
</servlet>
<servlet-mapping>
    <servlet-name>IndexServlet</servlet-name>
    <url-pattern>index.jsp</url-pattern>
</servlet-mapping>


</web-app>

我的问题是,尽管我知道.jsp在没有servlet时可以工作,但我希望servlet设置请求变量,但是当启用servlet时(例如在我的代码示例中),它不会运行任何。根本没有jsp!有什么帮助吗?我不知所措...

mmulholl

您正在定义一个具有/index.jsp映射的servlet,并且具有一个具有相同名称的静态欢迎页面。

当容器接收到对/index.jsp的请求时,它会寻找最长的精确匹配项,因此它与servlet匹配并调用您的doGet。

如果未找到完全匹配的容器,则容器将仅调用jsp,在这种情况下,它将与* .jsp匹配,这是jsp处理器将匹配的对象。

您有两种选择:

  1. 使servlet的映射不同于index.jsp。

  2. 将jsp放在子目录中,例如“ welcomes”,因此将欢迎文件定义为/welcome/index.jsp。然后,对/index.jsp的任何请求都将进入servlet,而对“ /”的请求将进入index.jsp。然后,该Servlet可以将请求转发到/welcomes/index.jsp,然后将调用jsp。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

在jsp页面和Servlet之间进行通信的最佳方法是什么?

来自分类Dev

在jsp页面和Servlet之间进行通信的最佳方法是什么?

来自分类Dev

jsp/servlet 页面重定向

来自分类Dev

Servlet和JSP通信的最佳方法

来自分类Dev

在doGet方法和JSP页面之间进行通信的最佳方法是什么?

来自分类Dev

如何设置从servlet返回的值到JSP页面中的文本框

来自分类Dev

如何设置从servlet返回的值到JSP页面中的文本框

来自分类Dev

Jsp页面与数据库的通信

来自分类Dev

在Servlet中将List设置为属性,并在JSP中进行检索

来自分类Dev

从servlet获取数据到jsp页面

来自分类Dev

如何从JSP页面获取数据到servlet

来自分类Dev

无法从servlet重定向到jsp页面

来自分类Dev

通过Servlet在JSP页面上显示图像

来自分类Dev

如何从JSP页面获取数据到servlet

来自分类Dev

Servlet不向JSP页面发送属性

来自分类Dev

如何从jsp页面获取ID到servlet?

来自分类Dev

Servlet没有定向到JSP页面

来自分类Dev

设置JSP的404错误页面

来自分类Dev

设置 JSP 页面以重启 CentOS

来自分类Dev

通过Servlet进行属性设置

来自分类Dev

将表html行的值读取到servlet到另一个jsp页面以进行编辑

来自分类Dev

使用jetty-jspc的I-Jetty和JSP:Servlet未初始化

来自分类Dev

是否可以使用用户脚本在将“ X-Frame-Options”设置为“ SAMEORIGIN”的页面(标签)之间进行通信?

来自分类Dev

使用SpringMVC +嵌入式Jetty + Gradle设置JSP

来自分类Dev

如何托管JSP页面以进行免费测试

来自分类Dev

从JSP页面的表单动作中调用servlet

来自分类Dev

如何在JSP页面加载时调用Servlet

来自分类Dev

如何从JSP页面调用servlet以执行自动重定向?

来自分类Dev

将数据从TEXT文件加载到JSP Servlet页面

Related 相关文章

  1. 1

    在jsp页面和Servlet之间进行通信的最佳方法是什么?

  2. 2

    在jsp页面和Servlet之间进行通信的最佳方法是什么?

  3. 3

    jsp/servlet 页面重定向

  4. 4

    Servlet和JSP通信的最佳方法

  5. 5

    在doGet方法和JSP页面之间进行通信的最佳方法是什么?

  6. 6

    如何设置从servlet返回的值到JSP页面中的文本框

  7. 7

    如何设置从servlet返回的值到JSP页面中的文本框

  8. 8

    Jsp页面与数据库的通信

  9. 9

    在Servlet中将List设置为属性,并在JSP中进行检索

  10. 10

    从servlet获取数据到jsp页面

  11. 11

    如何从JSP页面获取数据到servlet

  12. 12

    无法从servlet重定向到jsp页面

  13. 13

    通过Servlet在JSP页面上显示图像

  14. 14

    如何从JSP页面获取数据到servlet

  15. 15

    Servlet不向JSP页面发送属性

  16. 16

    如何从jsp页面获取ID到servlet?

  17. 17

    Servlet没有定向到JSP页面

  18. 18

    设置JSP的404错误页面

  19. 19

    设置 JSP 页面以重启 CentOS

  20. 20

    通过Servlet进行属性设置

  21. 21

    将表html行的值读取到servlet到另一个jsp页面以进行编辑

  22. 22

    使用jetty-jspc的I-Jetty和JSP:Servlet未初始化

  23. 23

    是否可以使用用户脚本在将“ X-Frame-Options”设置为“ SAMEORIGIN”的页面(标签)之间进行通信?

  24. 24

    使用SpringMVC +嵌入式Jetty + Gradle设置JSP

  25. 25

    如何托管JSP页面以进行免费测试

  26. 26

    从JSP页面的表单动作中调用servlet

  27. 27

    如何在JSP页面加载时调用Servlet

  28. 28

    如何从JSP页面调用servlet以执行自动重定向?

  29. 29

    将数据从TEXT文件加载到JSP Servlet页面

热门标签

归档