草庐IT

Servlet和springMVC

全部标签

java - 如何仅将 servlet 过滤器应用于具有 HTTP POST 方法的请求

在我的应用程序中,我想应用一个过滤器,但我不希望所有请求都必须转到该过滤器。这将是一个性能问题,因为我们已经有了一些其他过滤器。我希望我的过滤器仅适用于HTTPPOST请求。有什么办法吗? 最佳答案 没有现成的可用功能。Filter在应用于所有HTTP方法时没有开销。但是,如果您在Filter代码中有一些具有开销的逻辑,则不应将该逻辑应用于不需要的HTTP方法。这里是示例代码:publicclassHttpMethodFilterimplementsFilter{publicvoidinit(FilterConfigfilterCo

java - Servlet 响应方法 addHeader 和 setHeader 有什么区别?

我可以使用setHeader来设置新的标题吗?还是我需要先addHeader,然后使用setHeader方法? 最佳答案 文档说您可以使用addHeader方法将多个值添加到特定header,而如果您使用setHeader方法,则会覆盖初始值。在这两种情况下,都会创建一个不存在的header。 关于java-Servlet响应方法addHeader和setHeader有什么区别?,我们在StackOverflow上找到一个类似的问题: https://stac

java - 除了 EAR 和 EJB,我还能从 Java EE 应用服务器中获得什么,而我在 Tomcat 之类的 servlet 容器中没有?

我们使用Tomcat来托管基于WAR的应用程序。除了org.apache.catalina.authenticator.SingleSignOn之外,我们是兼容servlet容器的J2EE应用程序。我们被要求迁移到商业JavaEE应用服务器。改变这一点的第一个缺点我看到的是成本。无论申请费用服务器,Tomcat是免费的。其次是复杂性。我们不使用EJB或EAR特性(当然不是,我们不能),也没有错过它们。那么我没有看到的好处是什么?我没有提到的缺点是什么?提到的是...JTA-Java事务API-我们通过数据库控制事务存储过程。JPA-JavaPersistenceAPI-我们使用JDBC

java - 嵌入式 tomcat 7 servlet 3.0 注释不起作用

我有一个精简的测试项目,其中包含一个Servlet3.0版,使用如下注释声明:@WebServlet("/test")publicclassTestServletextendsHttpServlet{privatestaticfinallongserialVersionUID=-3010230838088656008L;@OverridepublicvoiddoGet(HttpServletRequestrequest,HttpServletResponseresponse)throwsIOException{response.getWriter().write("Test");res

java - 在 WAR 文件中定义 Servlet 上下文

我怎么知道例如Tomcat在给定我的WAR文件时使用特定的上下文路径?示例:我有一个由mavenbuild创建的war文件,文件的结果名称相当长。所以我不希望tomcat管理器应用程序使用war的文件名作为上下文。在META-INF中提供context.xml并没有产生预期的结果我还在Context的path属性的文档中找到了这一点:ThevalueofthisfieldmustnotbesetexceptwhenstaticallydefiningaContextinserver.xml,asitwillbeinferredfromthefilenamesusedforeithert

java - javax.servlet.ServletContext 和 javax.servlet.ServletException 类型无法解析

我正在尝试将SpringSecurity包含到我的Web项目中,我正在关注本教程http://docs.spring.io/spring-security/site/docs/current/guides/html5//helloworld.html我已经使用给定的maven项目完成了教程中的所有内容,并且工作正常。但是当我试图将它包含到我的项目中时,会出现编译错误。特别是当我从AbstractSecurityWebApplicationInitializer扩展时出现给定错误MultiplemarkersatthislineThetypejavax.servlet.ServletCo

javax.servlet.ServletException : java. lang.NoClassDefFoundError: javax/servlet/jsp/jSTL/core/ConditionalTagSupport

我正在使用sitemesh来装饰页面。我为此使用了一个JSP页面。在我使用之前,该页面运行良好条件标签。我在WEB-INF/lib文件夹中有jSTL-impl-1.2.jar和sitemesh-3.0-alpha-1.jar文件。我在jsp页面中有以下标记库声明:我在java6中使用tomcat7.0。当我在eclipse中创建新的动态web项目时,我将动态web模块版本设置为2.4。该页面有标签,它们工作正常,但是当我使用if条件标签时,我收到以下错误:javax.servlet.ServletException:java.lang.NoClassDefFoundError:java

java - Servlet : java. lang.ClassNotFoundException : org. json.simple.parser.ParseException

我正在为android实现GoogleCloudMessaging服务。我创建了一个向应用程序用户发送推送通知的测试服务器。但是我创建的服务器正在生成以下错误。我在服务器端使用JavaServlet,并在项目中包含了gcm-server.jar文件。这是日志:java.lang.ClassNotFoundException:org.json.simple.parser.ParseExceptionatorg.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1680)atorg.apach

java - Servlet 3 规范和 ThreadLocal

据我所知,Servlet3规范引入了异步处理功能。除此之外,这意味着同一个线程可以并且将被重用于处理另一个并发的HTTP请求。这不是革命性的,至少对于以前与NIO合作过的人来说是这样。无论如何,这导致了另一个重要的事情:没有ThreadLocal变量作为请求数据的临时存储。因为如果同一线程突然成为不同HTTP请求的载体线程,请求本地数据将暴露给另一个请求。所有这些都是我根据阅读文章的纯粹猜测,我没有时间玩任何Servlet3实现(Tomcat7、GlassFish3.0.X等)。所以,问题:我是否正确假设ThreadLocal将不再是保存请求数据的便捷方法?有没有人使用过任何Servl

java - 每个 webapp 一个或多个 servlet?

我知道,这取决于webapp。但在正常情况下,您会做什么:一个servlet,它服务于不同的页面(例如一个内容不断变化的独立应用程序),或者为每个页面提供一个servlet。以博客为例。有一个带有最新博客条目的起始页、一个用于显示一个博客条目的文章View和一个存档。你是用三个不同的servlet实现的,还是用一个分派(dispatch)给函数的servlet来实现的。至少有很大一部分内容是共享的,例如http-headers。那么,你的经验是什么,什么最有效? 最佳答案 通常您会为每个用例创建一个servlet。Servlet就像