Tag: servlets

Http Servlet请求在读取一次后会从POST主体中丢失参数

我想在Java Servletfilter中访问两个http请求参数,这里没有什么新东西,但很惊讶的发现参数已经被使用了! 正因为如此,它在过滤链中不再可用。 看来只有当参数进入POST请求体(例如表单提交)时才会发生这种情况。 有没有办法读取参数,而不是消耗它们? 到目前为止,我只find了这个参考: 使用request.getParameter的Servletfilter失去了表单数据 。 谢谢!

我可以在<filter-mapping>里面的<url-pattern>中排除一些具体的url吗?

我想要一些具体的filter应用于除了一个具体(除/specialpath之外的/* )所有的URL。 有没有可能做到这一点? 示例代码: <filter> <filter-name>SomeFilter</filter-name> <filter-class>org.somproject.AFilter</filter-class> </filter> <filter-mapping> <filter-name>SomeFilter</filter-name> <url-pattern>/*</url-pattern> <!– the question is: how to modify this line? –> <dispatcher>REQUEST</dispatcher> <dispatcher>FORWARD</dispatcher> </filter-mapping>

如何读取和复制HTTP servlet响应输出stream内容以进行logging

我创build了一个filter,在我的Java Web服务器(实际上是appengine),logging传入请求的参数。 我也想logging我的networking服务器写入的结果。 尽pipe我有权访问响应对象,但我不确定如何从中获取实际的string/内容响应。 有任何想法吗?

实现一个简单的文件下载servlet

我应该如何实现简单的文件下载servlet? 这个想法是,用GET请求index.jsp?filename=file.txt ,用户可以下载例如。 文件servlet中的file.txt和文件servlet会将该file upload到用户。 我能够得到该文件,但我怎样才能实现文件下载?

收集并保存多个dynamicHTMLinput的提交值返回到servlet

我可以使用JSTL在JSP窗体中显示一个Bean的ArrayList ,方法是循环访问列表并在HTMLinput标记中输出Bean属性。 <c:forEach items="${listOfBeans}" var="bean"> <tr> <td><input type="text" id="foo" value="${bean.foo}"/></td> <td><input type="text" id="bar" value="${bean.bar}"/></td> </tr> </c:forEach> 我该如何对JSP进行编码,以便在页面提交时更新的值位于ArrayList的相应项目中?

在Servlet中parsing传入的多部分/表单数据参数的方便方法

是否有任何方便的方式来读取和parsing来自请求的数据。 例如,客户发起发布请求 URLConnection connection = new URL(url).openConnection(); connection.setDoOutput(true); connection.setRequestProperty("Content-Type", "multipart/form-data; boundary=" + boundary); PrintWriter writer = null; try { OutputStream output = connection.getOutputStream(); writer = new PrintWriter(new OutputStreamWriter(output, charset), true); // true = autoFlush, important! // Send normal param. writer.println("–" + boundary); writer.println("Content-Disposition: form-data; name=\"param\""); writer.println("Content-Type: text/plain; charset=" + charset); writer.println(); writer.println(param); 我无法使用request.getParameter("paramName")获得参数。 下面的代码 BufferedReader […]

ContextLoaderListener与否?

标准的Spring Web应用程序(由Roo或“Spring MVC Project”模板创build)使用ContextLoaderListener和DispatcherServlet创buildweb.xml。 为什么他们不仅使用DispatcherServlet并使其加载完整的configuration? 我明白,应该使用ContextLoaderListener加载与Web不相关的东西,并使用DispatcherServlet加载Web相关的东西(控制器,…)。 而这个结果有两个上下文:一个父母和一个孩子的上下文。 背景: 几年来我一直这样做。 <context-param> <param-name>contextConfigLocation</param-name> <param-value>classpath*:META-INF/spring/applicationContext*.xml</param-value> </context-param> <!– Creates the Spring Container shared by all Servlets and Filters –> <listener> <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class> </listener> <!– Handles Spring requests –> <servlet> <servlet-name>roo</servlet-name> <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class> <init-param> <param-name>contextConfigLocation</param-name> <param-value>WEB-INF/spring/webmvc-config.xml</param-value> </init-param> <load-on-startup>1</load-on-startup> </servlet> 这经常导致两个上下文和它们之间的依赖关系的问题。 过去我总是能find解决scheme,而且我有强烈的感觉,这使得软件结构/架构总是更好。 但是现在我面临着这两种情况下的一个问题 。 – 但是这使得我重新思考这两个上下文模式,我在问自己:为什么我要把自己带入这个麻烦,为什么不用一个DispatcherServlet加载所有的Springconfiguration文件,并完全删除ContextLoaderListener 。 (我仍然会有不同的configuration文件,但只有一个上下文。) 有没有任何理由不删除ContextLoaderListener ?

“PKIXpathbuild立失败”和“无法find有效的证书path到请求的目标”

我正在尝试使用twitter4j库为我的Java项目鸣叫。 在我第一次运行时,我得到了关于证书sun.security.validator.ValidatorException和sun.security.provider.certpath.SunCertPathBuilderException的错误。 然后我通过添加twitter证书: C:\Program Files\Java\jdk1.7.0_45\jre\lib\security>keytool -importcert -trustcacerts -file PathToCert -alias ca_alias -keystore "C:\Program Files\Java\jdk1.7.0_45\jre\lib\security\cacerts" 但没有成功。 这里是获取twitters的程序: public static void main(String[] args) throws TwitterException { ConfigurationBuilder cb = new ConfigurationBuilder(); cb.setDebugEnabled(true) .setOAuthConsumerKey("myConsumerKey") .setOAuthConsumerSecret("myConsumerSecret") .setOAuthAccessToken("myAccessToken") .setOAuthAccessTokenSecret("myAccessTokenSecret"); TwitterFactory tf = new TwitterFactory(cb.build()); Twitter twitter = tf.getInstance(); try { Query query = new Query("iphone"); QueryResult result; result = twitter.search(query); […]

如何在servlet中获取客户端的远程地址?

有没有什么办法可以得到客户端的原始IP地址到服务器? 我可以使用request.getRemoteAddr() ,但我似乎总是得到代理或Web服务器的IP。 我想知道客户端用来连接到我的IP地址。 无论如何,我可以得到它?

在Java Servlet中生成HTML响应

如何在Java servlet中生成HTML响应?