Tag: servlets

如何在Jetty中的/ *上映射servletfilter?

我有一个servletfilter,我想在Jetty中映射到http://127.0.0.1:8888/ 。 我已经使用url pattern /*设置了servletfilter映射。 但是,不会调用filter。 我也尝试过/ mapping。 它也不起作用。 这是怎么造成的,如何解决?

如何在Servlets中插入JSPfunction?

如何使用Servlet访问具有JSP的HTML用法,而不必将所有面向客户端的页面称为* .jsp? 我宁愿这样做而不是使用所有的response.write()东西,因为我认为当它是干净的“HTML”时它更容易阅读和维护。 这是公平的评估吗? 编辑:我想要的是让Servlet将内容输出到屏幕而不必重定向到.jsp文件。 通过这种方式,我可以编写所有JSP内容,但是当需要显示它时,用户看到的URL页面基本上是“ http://blah.com/posts/post-id ”,这是地址servlet而不是“ http://blah.com/posts.jsp?pos=post-id ”。 但我仍然会在外部.jsp中编写所有表示逻辑。

得到Null值+可能查询不起作用

实际上我正在遵循mvc-3层架构到我的应用程序。这是我的搜索选项的实现。 在我的servlet(控制器)中,我这样做: String select = request.getParameter(“select”); // getting value String search = request.getParameter(“search”); // getting value request.setAttribute(“select”, select); request.setAttribute(“search”, search); System.out.println(“Select : “+select+” Search : “+search); int page = 1; int recordsPerPage = 20; if(request.getParameter(“page”) != null) page = Integer.parseInt(request.getParameter(“page”)); SearchDAO searchDAO=new SearchDAO(); List list1=searchDAO.searchAllUsers((page-1)*recordsPerPage,recordsPerPage,select,search); //getting null value,doing SOP of list1 int noOfRecords = searchDAO.getNoOfRecords(); […]

没有cookie的Servlet会话+仅返回JSON的ajax请求

这是我的情况,我有一个网站,我只是使用Apache HTTPD加载,然后向一个只返回JSON数据的servlet发出Ajax POST请求。 然后,该JSON数据用于更新表等。 现在我想向我的站点添加用户逻辑,并且还为各个用户的请求维护servlet会话。 我知道servlet需要返回第一次调用request.getSession()时生成的会话ID,以便客户端可以将此sessionid添加到将来的Ajax请求中,以便servlet知道要在内存中使用哪个会话。 我也理解这个会话id可以返回给客户端的两种方式是使用cookie(JESSIONID)或URL重写。 如果我不能使用URL重写,因为我只是返回JSON数据,cookie是我离开的唯一方式将会话ID发送回客户端吗? 另外,作为一个附带问题,目前我注意到来自servlet的任何HTTP响应中都没有JSESSIONID cookie。 有人向我建议这是Tomcat7中的新function,我必须在全局context.xml中激活它们。 这是否意味着即使您调用request.getSession(),默认情况下也没有会话处理?

如何将Servlet保留到我的站点(某种身份validation)?

我有一个网站,通过servlet向用户发送动态信息。 它是无国籍的,没有登录。 此特定站点使用从客户端浏览器到服务器的相当数量的doPost()和doGet()调用。 我的问题是,如果有人阅读我的来源,他们可以很容易地删除我公开的servlet URL,并在我的Web服务器上花费一个免费的API。 我该如何防止这种情况发生? 我是否可以在JavaScript和Java之间使用某种认证包,但不会增加明显的延迟? 我只希望我网页上的用户能够调用面向公众的servlet。

使用我的自定义Servlet的GWT RPC机制

我目前有一个GWT应用程序,它使用RequestBuilde将消息发送到我拥有的servlet(使用POST和GET ),我的servlet(在doPost和doGet )“暂停”请求(这是通过使用Servlets 3.0规范完成的)和将其添加到队列中。 另外,我有一个守护程序线程,它在后台运行,并在有新数据时“播放”请求。 这对我来说很有用,除了我现在只是发送字符串这个事实,我想利用RPC机制发送对象。 我的问题是: 如果我创建扩展RemoteServiceServlet myServiceImpl类,我应该如何处理doPost和doGet呢? 我需要暂停我的请求以利用异步支持,应该在哪里完成? 我可能在myServiceImpl类的RPC方法中调用this.getThreadLocalRequest()方法,但我不确定它会有多么明智。 我不确定我是否理解GWT如何处理来自该异步接口的客户端的调用。 有没有机会调用doGet作为servlet的例子,并确保它调用所需的RPC方法? 对不起,如果我搞得一团糟,那就是我找不到更详细的技术信息,正如RPC业务的工作原理一样。 感谢任何借贷手 以太

正在调用Servlet的服务和init方法,但不是doGet

我有一个简单的Servlet,如下所示: import java.io.IOException; import java.io.PrintWriter; import javax.servlet.ServletException; import javax.servlet.ServletRequest; import javax.servlet.ServletResponse; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; public class Bla extends HttpServlet { private static final long serialVersionUID = 16252534; @Override public void init() throws ServletException { System.out.println(“init”); } @Override public void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { System.out.println(“doGet”); resp.setContentType(“text/html”); PrintWriter out = […]

如何在Servlet-Applet场景中进行Unittests

我应该如何为Java / Tomcat Servlet-Applet应用程序创建和运行unit testing?

无法通过servlet连接到mysql

我花了两天时间试图找出为什么我的servlet没有连接到MySQL数据库。 我安装了MySQL并正常工作和Eclipse。 每当我尝试建立连接时,我都会获得com.mysql.jdbc.Driver的ClassNotFoundException ,它实际上是正确导入的。 我正在使用的连接器是作为外部jar正确添加的mysql-connector-java5.1.14 ,所以一切似乎都很好。 这是我的代码: protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { String dbUrl=”jdbc:mysql://localhost:3306/test”; String username=”root”; String password=””; try { Class.forName(“com.mysql.jdbc.Driver”).newInstance(); conn=DriverManager.getConnection(dbUrl); System.out.println(“Connected!”); } catch (SQLException e) { e.printStackTrace(); System.out.println(“not connected”); } catch(ClassNotFoundException x){ x.printStackTrace(); } catch(Exception e){ e.printStackTrace(); } } 这是堆栈跟踪的一部分: java.lang.ClassNotFoundException: com.mysql.jdbc.Driver at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1645) at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1491) at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:375) […]

在servlet中创建json对象

我想将检索到的数据从服务器发送到我的Android客户端…我使用了一个json对象来做到这一点。 这是我的servlet代码。 import java.io.IOException; import java.io.PrintWriter; import java.sql.Connection; import java.sql.DriverManager; import java.sql.ResultSet; import java.sql.SQLException; import java.sql.Statement; import java.io.IOException; import java.io.PrintWriter; import javax.servlet.ServletException; import javax.servlet.annotation.WebServlet; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import net.sf.json.JSONArray; import net.sf.json.JSONObject; public class AvailabilityResponse extends HttpServlet { @Override protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { response.setContentType(“application/json”); PrintWriter out=response.getWriter(); String […]