Tag: servlets

如何使用子文件夹作为web.xml欢迎目录

我想为Google App Engine配置我的web.xml,但我的配置不起作用。 我想用WebApp/index.html更改默认的WebApp/index.html 。 这是web.xml : App bg.app.AppServlet App /WebApp/* WebApp/index.html

使用servlet重定向请求并且“setHeader”方法不起作用

我是servlet开发的新手,我正在阅读一本电子书,发现我可以使用重定向到另一个网页 setHeader(“Location”, “http://www.google.com”) 但这不起作用,因为我已将此代码编写为: import java.io.*; import javax.servlet.*; import javax.servlet.http.*; public class ModHelloWorld extends HttpServlet{ public void doGet(HttpServletRequest request, HttpServletResponse response) throws IOException{ // response.addHeader(“Location”, “http://www.google.com”); response.setHeader(“Location”, “http://www.google.com”); response.setContentType(“text/html”); PrintWriter pw = response.getWriter(); pw.println(“Modified Hello World”); pw.println(“”); //getInitParameter function reads the contents ot init-param elements. pw.println(getInitParameter(“message”)); pw.println(“”); pw.println(“”); pw.close(); } } 我已经使用我的程序检查了标题以获取网页的标题,如下所示: import java.net.*; import […]

如何在Java servlet上下文中获取和设置全局对象

我想知道是否有人可以建议:我有一个场景,由Quartz运行的预定作业将每小时更新一个对象的arraylist。 但我需要这些对象的arraylist对Tomcat创建的所有会话都是可见的。 所以我想的是我每隔一小时从运行的Quartz作业中的某个地方写这个对象,这样每个会话都可以访问它。 任何人都可以说这可能会达到最佳效果吗? 我想知道从Quartz作业写入servlet上下文的对象? 另一种方法是让每个会话从数据库表中填充对象的arraylist。 谢谢 摩根先生。

java.lang.NoClassDefFoundError:org / json / JSONObject

我正在使用Eclipse IDE并正在编写servlet。 servlet应接受来自html文件的值并相应地返回JSON响应。 我的doPost()是: protected void doPost(HttpServletRequest req, HttpServletResponse res) throws ServletException, IOException { try { res.setContentType(“application/json”); res.setHeader(“Cache-Control”, “nocache”); res.setCharacterEncoding(“utf-8”); PrintWriter out = res.getWriter(); JSONObject json = new JSONObject(); String un=req.getParameter(“uname”); String pw=req.getParameter(“password”); if(un.equals(“xxx”) && pw.equals(“xxx”)) json.put(“result”, “success”); else json.put(“result”, “fail”); out.print(json.toString()); } catch(Exception e){System.out.print( e.getMessage());} } 当我在Eclipse中运行这个servlet时,我得到一个文件下载对话框。 当使用Tomcat在Eclipse外部运行时,我收到错误: root cause java.lang.NoClassDefFoundError: org/json/JSONObject Server1.doPost(Server1.java:25) javax.servlet.http.HttpServlet.service(HttpServlet.java:647) […]

在HttpServletRequest.getParameterValues()中对值进行排序

HttpServletRequest.getParameterValues()返回包含给定HTTP请求参数的所有值的String[] 。 有没有人知道这个数组中的值的顺序是否通过规范保证与请求中传递这些值的顺序相同? 例如,如果我有GET查询字符串x=1&x=2&x=3 ,我可以保证在调用getParameterValues()时收到String[] {“1”, “2”, “3”}吗? 它似乎在实践中起作用,但我找不到任何指定必须如此的情况,所以我不愿意依赖它。

如果url模式匹配多个servlet怎么办?

s1 /abc s2 /abc s3 /* 如果请求/ abc到来,将调用哪个servlet?为什么?

查找从给定客户端IP创建的活动会话数

有没有办法确定从给定客户端IP地址创建的活动会话数?

HTTP响应缓存

我想确保我的servet的响应永远不会被broswer缓存,这样即使两个相同的请求(相隔一个纳秒),也总是联系服务器。 这是实现此目的的正确方法: class MyServlet extends HttpServlet { protected void doGet(HttpServletRequest request, HttpServletResponse response) { response.setHeader(“Cache-Control”, “no-cache”); } } 谢谢,唐

无法在JSP中设置标头。 响应已经提交

WebSphere记录警告消息“SRTServletRes W警告:无法设置标头。 对于一个JSP请求已经提交的响应。 我稍后需要在代码中使用respone标头。 我做了一些研究,并了解到Servlet正在尝试向输出流发送更多数据,但该流已经提交。 我不明白为什么这只发生在这个特定的JSP上,因为这个Servlet代码适用于其他JSP。 此页面未重定向,我收到响应,没有响应标头。

根据请求参数填充Javabeans的简便方法

我有一个简单的人类: package simpleApp.entities; public class Person { private String name; private String secondname; public void setSecondname(String cognome) { this.secondname = cognome; } public String getSecondname() { return secondname; } public void setName(String nome) { this.name = nome; } public String getName() { return name; } } 和一个简单的HTML页面: name: second name: 和一个简单的servlet: public class Person extends […]