我试图注册使用servletContainerInitializer一个servlet,但它似乎不工作,也许这是我的代码(好心审查),但是我到想知道的区别ServletContainerInitializer和ServletContextListener,因为使用时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) 我有两个共享大量代码的JSF项目 - java类,xhtml文件,标记库,css和javascript文件等.我的开发环境/平台主要包括Eclipse,Ant,Perforce和Tomcat.
有没有人找到一种方法来创建和组织共享代码,以便公共代码可以保留在一组文件夹中?
Eclipse可以很容易地为java源添加外部文件夹,但不能满足其他文件类型.我很欣赏任何想法.
大家好,
由于我的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
我将我所有的网络资源放入/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 插件。
如何在没有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)