草庐IT

Servlets

全部标签

java - 不直接编写 Servlet 来创建 REST API 的原因

在我目前的公司,我们正在启动一个新项目,该项目将是Java中的RESTAPI,部署在像Tomcat这样的servlet容器中。在我之前使用JAX-RS和Jersey、JBOSSRESTEasy、SpringMVC等REST框架的经验中,我知道使用像直接编写Servlet来处理请求这样的框架有哪些优势。(当然我们知道上面提到的框架仍然使用Servlet)我发现很难说服他们。因为他们提议编写servlet,认为它对性能更好(可能是这种情况,但我认为使用其中一个框架的开销对于RESTAPI来说应该是微不足道的)。这是我的理由:1)样板更少,代码更简洁(更易于维护和测试)。使用JAX-RS框架

java - 不直接编写 Servlet 来创建 REST API 的原因

在我目前的公司,我们正在启动一个新项目,该项目将是Java中的RESTAPI,部署在像Tomcat这样的servlet容器中。在我之前使用JAX-RS和Jersey、JBOSSRESTEasy、SpringMVC等REST框架的经验中,我知道使用像直接编写Servlet来处理请求这样的框架有哪些优势。(当然我们知道上面提到的框架仍然使用Servlet)我发现很难说服他们。因为他们提议编写servlet,认为它对性能更好(可能是这种情况,但我认为使用其中一个框架的开销对于RESTAPI来说应该是微不足道的)。这是我的理由:1)样板更少,代码更简洁(更易于维护和测试)。使用JAX-RS框架

java - HttpServletRequest.getParameterValues() 中的值排序

HttpServletRequest.getParameterValues()返回一个String[]包含给定HTTP请求参数的所有值。有谁知道这个数组中值的顺序是否由规范保证与这些值在请求中传递的顺序相同?例如,如果我有GET查询字符串x=1&x=2&x=3,我是否保证收到String[]{"1","2","3"}当我调用getParameterValues()时?它似乎在实践中有效,但我找不到任何指定必须是这种情况的东西,所以我不愿意依赖它。 最佳答案 ServletRequest(v2.5javadoc)的javadoc没有提

java - HttpServletRequest.getParameterValues() 中的值排序

HttpServletRequest.getParameterValues()返回一个String[]包含给定HTTP请求参数的所有值。有谁知道这个数组中值的顺序是否由规范保证与这些值在请求中传递的顺序相同?例如,如果我有GET查询字符串x=1&x=2&x=3,我是否保证收到String[]{"1","2","3"}当我调用getParameterValues()时?它似乎在实践中有效,但我找不到任何指定必须是这种情况的东西,所以我不愿意依赖它。 最佳答案 ServletRequest(v2.5javadoc)的javadoc没有提

java - 包 javax.servlet.http 不存在

这个问题在这里已经有了答案:Compileerror:packagejavax.servletdoesnotexist(13个回答)关闭去年。我将jre7和jdk1.7.0与Tomcat7.0一起安装,但它显示此错误。servlet.http不是唯一一个“不存在”的,还有其他(servlet.)组件。谁能帮我解决这个问题?更新:当我尝试以下命令时会发生此错误:javac-classpathservlet-api.jarWebTest.java 最佳答案 如果您正在使用maven项目,则将以下依赖项添加到您的pom.xmljavax.

java - 包 javax.servlet.http 不存在

这个问题在这里已经有了答案:Compileerror:packagejavax.servletdoesnotexist(13个回答)关闭去年。我将jre7和jdk1.7.0与Tomcat7.0一起安装,但它显示此错误。servlet.http不是唯一一个“不存在”的,还有其他(servlet.)组件。谁能帮我解决这个问题?更新:当我尝试以下命令时会发生此错误:javac-classpathservlet-api.jarWebTest.java 最佳答案 如果您正在使用maven项目,则将以下依赖项添加到您的pom.xmljavax.

java - 如何在启动期间使用参数初始化 Servlet?

我们可以在Servlet中编写参数构造函数吗?如果是,你怎么打电话? 最佳答案 CanwewriteanargumentconstructorinaServlet?是的,你可以,但它没有用,因为servlet容器不会调用它。正确的做法是使用init()方法:@Overridepublicvoidinit()throwsServletException{Stringfoo=getInitParameter("foo");Stringbar=getServletContext().getInitParameter("bar");//..

java - 如何在启动期间使用参数初始化 Servlet?

我们可以在Servlet中编写参数构造函数吗?如果是,你怎么打电话? 最佳答案 CanwewriteanargumentconstructorinaServlet?是的,你可以,但它没有用,因为servlet容器不会调用它。正确的做法是使用init()方法:@Overridepublicvoidinit()throwsServletException{Stringfoo=getInitParameter("foo");Stringbar=getServletContext().getInitParameter("bar");//..

java - 如何在Tomcat中设置请求编码?

我的Javawebapp有问题。这是index.jsp中的代码:JSPPageHelloWorld!Res:当我对请求进行wireshark时,我的浏览器会发送此header:GET/kjd/index.jsp?q=%C3%A9HTTP/1.1\r\n...Accept-Charset:UTF-8,*\r\nTomcat服务器返回给我这个:Content-Type:text/html;charset=UTF-8\r\n但如果我在表单中发送“é”(UTF-8中的%C3%A9),则会显示“é”。我的理解是浏览器发送一个用UTF-8编码的“é”(%C3%A9)。但服务器将此解释为ISO-8

java - 如何在Tomcat中设置请求编码?

我的Javawebapp有问题。这是index.jsp中的代码:JSPPageHelloWorld!Res:当我对请求进行wireshark时,我的浏览器会发送此header:GET/kjd/index.jsp?q=%C3%A9HTTP/1.1\r\n...Accept-Charset:UTF-8,*\r\nTomcat服务器返回给我这个:Content-Type:text/html;charset=UTF-8\r\n但如果我在表单中发送“é”(UTF-8中的%C3%A9),则会显示“é”。我的理解是浏览器发送一个用UTF-8编码的“é”(%C3%A9)。但服务器将此解释为ISO-8