相关疑难解决方法(0)

ServletContainerInitializer与ServletContextListener

我试图注册使用servletContainerInitializer一个servlet,但它似乎不工作,也许这是我的代码(好心审查),但是我到想知道的区别ServletContainerInitializerServletContextListener,因为使用时follwing代码运行正常ServletContextListener,而不是.

从servlet 3.0规范:

4.4

配置方法(动态添加servlet):

......或者从实施onStartup方法ServletContainerInitializer......

ServletContainerInitializer:

package com.marmoush.javaexamples.nullhaus.servlet;

import java.util.Set;
import javax.servlet.ServletContainerInitializer;
import javax.servlet.ServletContext;
import javax.servlet.ServletException;
import javax.servlet.ServletRegistration;

public class MyInit implements ServletContainerInitializer {
    public void onStartup(Set<Class<?>> c, ServletContext ctx) throws ServletException {
        System.out.println("hello");
        ServletRegistration reg = ctx.addServlet("q31","com.marmoush.javaexamples.nullhaus.servlet.Q31");
        reg.addMapping("/q31/*");
    }
}
Run Code Online (Sandbox Code Playgroud)

我正在尝试自动注册的servlet:

package com.marmoush.javaexamples.nullhaus.servlet;

import java.io.IOException;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

public class Q31 extends HttpServlet {
    @Override
    protected void doGet(HttpServletRequest req, HttpServletResponse resp) …
Run Code Online (Sandbox Code Playgroud)

servlets initialization

39
推荐指数
2
解决办法
2万
查看次数

具有共享代码的多个JSF项目的结构

我有两个共享大量代码的JSF项目 - java类,xhtml文件,标记库,css和javascript文件等.我的开发环境/平台主要包括Eclipse,Ant,Perforce和Tomcat.

有没有人找到一种方法来创建和组织共享代码,以便公共代码可以保留在一组文件夹中?

Eclipse可以很容易地为java源添加外部文件夹,但不能满足其他文件类型.我很欣赏任何想法.

eclipse jsf projects structure

35
推荐指数
1
解决办法
2万
查看次数

Tomcat包含另一个到web.xml的xml文件

大家好,

由于我的web.xml中有很多servlet映射,我想知道是否可以将所有映射存储到单独的文件中,然后将其包含到web.xml中.

servervlet-mapping.xml

<servlet>
    <servlet-name>red</servlet-name>
    <servlet-class>Test.Red</servlet-class>
</servlet>

<servlet-mapping>
    <servlet-name>red</servlet-name>
    <url-pattern>/blue</url-pattern>
</servlet-mapping>

<servlet>
    <servlet-name>blue</servlet-name>
    <servlet-class>Test.Blue</servlet-class>
</servlet>

<servlet-mapping>
    <servlet-name>blue</servlet-name>
    <url-pattern>/blue</url-pattern>
</servlet-mapping>
Run Code Online (Sandbox Code Playgroud)

web.xml中

<include file="servlet_mapping.xml"/>
Run Code Online (Sandbox Code Playgroud)

这样就可以在struts.xml中加载xml文件.(不确定web.xml中是否可以)

这样的事情可能吗?或者还有其他方法可以使它工作吗?

(为我糟糕的英语道歉)

先谢谢你,Alex

java xml jsp tomcat servlets

8
推荐指数
2
解决办法
7634
查看次数

使用/META-INF/resources时,WEB-INF去哪儿了?

我将我所有的网络资源放入/META-INF/resources,所以我可以在不同的网络应用程序中重用它们。

但是web.xml里面WEB-INF/呢?我必须src/main/webapp/把它放在里面还是我也可以把它放在下面src/main/resources/

如果是这样,我必须把它放在哪里?src/main/resources/WEB-INF/或者src/main/resources//META-INF/resources/WEB-INF/

我使用 Maven 和 Assembly 插件来构建我的项目,而不是 WAR 插件。

jakarta-ee

5
推荐指数
1
解决办法
2419
查看次数

以编程方式映射servlet,而不是使用web.xml或注释

如何在没有web.xml或注释的情况下以编程方式实现此映射?任务不是使用任何框架,如弹簧或其他东西.

<servlet>
    <servlet-name>hello</servlet-name>
    <servlet-class>test.HelloServlet</servlet-class>
</servlet>
<servlet-mapping>
    <servlet-name>hello</servlet-name>
    <url-pattern>/hello</url-pattern>
</servlet-mapping>
Run Code Online (Sandbox Code Playgroud)

mapping servlets programmatic-config

4
推荐指数
2
解决办法
2886
查看次数