【问题标题】:jetty 9 serving HTML file PWC6117: File not found码头 9 提供 HTML 文件 PWC6117:找不到文件
【发布时间】:2015-04-06 16:30:37
【问题描述】:

我在我的 spring 应用程序中使用了 jetty。从 Jetty 8 迁移到 Jetty 9(用 ServerConnector 替换 SelectChannelConnector)后,我在导航到主网站地址(spring security 将我重定向到 /login)并记录后留下 404 错误代码:

错误:PWC6117:找不到文件“/Users/jonny/projects/mypro/modules/backoffice/src/main/webapp/login”

看起来 jetty 9 不支持 web.xml 文件?在我的情况下

 <servlet>
    <servlet-name>login</servlet-name>
    <jsp-file>/login.jsp</jsp-file>
</servlet>

<servlet-mapping>
    <servlet-name>login</servlet-name>
    <url-pattern>/login</url-pattern>
</servlet-mapping>

而我对 WebApp 对象的配置是:

Server server = new Server(); 

WebAppContext webapp = new WebAppContext();
webapp.setContextPath(path);
webapp.setDescriptor("*src/main/webapp*/WEB-INF/web.xml");
webapp.setBaseResource(new ResourceCollection("*src/main/webapp*"));

HandlerList handlers = new HandlerList();
ServerConnector connector = new ServerConnector(server);
connector.setPort(*port*);
server.setConnectors(new Connector[]{connector});
handlers.addHandler(webApp);
server.setHandler(handlers);
server.start();
server.join();

我希望/login 服务于login.jsp,该怎么做?

login.jsp 的正文是纯html,我只想从/login 上下文中提供它

旧: 在搜索提示时我红色:

但仍然不知道如何使用web.xml 正确设置码头,有什么想法吗?

【问题讨论】:

  • 部分解决方案是重新编写 login.jsp 以登录 servlet,而不是 jsp-file 添加 servlet-class 可以正常工作,但这很不愉快,我希望有 jsp 文件

标签: java spring jsp jetty web.xml


【解决方案1】:

如果该代码 sn-p 表示您如何初始化 web 应用程序,那么您缺少 很多 JSP 初始化步骤。

有一个由 Jetty Project 制作的示例项目,展示了如何将 JSP 与嵌入式 Jetty 一起使用

https://github.com/jetty-project/embedded-jetty-jsp

注意...

  • 所需的 ClassLoader 类型
  • scratchDir 声明
  • ServletContainerInitializer 设置
  • Jsp Servlet Holder 和映射
  • InstanceManager

(仅举几个大的)

【讨论】:

  • 您好,我已经改变了一点我的问题,它是 .jsp 文件,仅用于提供 html(在 jetty8 中还可以)。我已经添加了我的资源处理程序,但是当我将所有内容打包到 fatjar ResourceHandler resHandler = new ResourceHandler(); 时,这完全不起作用resHandler.setResourceBase("/path/to/login.jsp"); ContextHandler ctx = new ContextHandler("/login"); ctx.setHandler(resHandler);
  • Do not mix ResourceHandler and ServletContextHandler(其实不要用ResourceHandler,用它比使用DefaultServlet没有任何优势)
猜你喜欢
  • 1970-01-01
  • 2015-03-18
  • 2015-04-27
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-12-28
  • 2019-05-26
  • 2023-03-11
相关资源
最近更新 更多