Tag: servlets

在WEB-INF / LIB中使Tomcat忽略Servlet

我创建了一个Web应用程序,我需要它才能与图形数据库进行交互(我正在使用Titan)。 添加Titan的依赖项时,当我尝试在Tomcat中部署此WAR时,会出现以下错误: SEVERE: A child container failed during start java.util.concurrent.ExecutionException: org.apache.catalina.LifecycleException: Failed to start component [StandardEngine[Tomcat].StandardHost[localhost].StandardContext[]] at java.util.concurrent.FutureTask.report(FutureTask.java:122) at java.util.concurrent.FutureTask.get(FutureTask.java:188) at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:1123) at org.apache.catalina.core.StandardHost.startInternal(StandardHost.java:800) at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150) at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1559) at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1549) at java.util.concurrent.FutureTask.run(FutureTask.java:262) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) at java.lang.Thread.run(Thread.java:744) Caused by: org.apache.catalina.LifecycleException: Failed to start component [StandardEngine[Tomcat].StandardHost[localhost].StandardContext[]] at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:154) … 6 more Caused by: java.lang.LinkageError: loader […]

jqgrid如何显示服务器端消息

我使用jqGrid以表格格式显示数据,使用JSP和servlet 。 编辑 我想在执行insert, update, delete等操作时显示来自服务器的错误。 (datatype: “xml”) jqGrid的 jQuery(“#list10_d”).jqGrid({ height:250, width:600, url:’Assignment?action=Assign’, datatype: “xml”, colNames:[‘Sr. No.’,’PID’, ‘DATE’, ‘EMPID’], colModel:[{name:’srNo’,index:’srNo’, width:30,sortable:false}, {name:’PID’,index:’PID’,width:0, sortable:true,editable:false}, {name:’DATE’,index:’DATE’, width:75,sortable:true,editable:true,editoptions: { dataInit: function(el) { setTimeout(function() { $(el).datepicker({dateFormat:”dd-M-yy”,showButtonPanel: true,changeYear: true,changeMonth: true}).attr(‘readonly’,’readonly’); }, 200); }}}, {name:’EMPID’,index:’EMPID’, width:150,sortable:true,editable:true} ], rowNum:10, rowList:[10,20,50,100], pager: ‘#pager10_d’, sortname: ‘PID’, viewrecords: true, sortorder: “asc”, }, multiselect: true, editurl: […]

Java – Servlet 3.0中的异步与Servlet 3.1中的NIO

直到现在,因为它适用于提供http请求,我认为术语 – asynchronous和non-blocking i/o意味着同样的事情。 但显然,它们分别在servlet 3.0和3.1中单独实现。 我在努力理解这里的差异…… 有人可以对这个话题有更多了解吗? 具体来说,我正在寻找一个服务器的servlet 3.0实现如何异步,但在一个线程上阻塞的例子? 我想如果我理解这一点,可能更容易理解servlet 3.1中的非阻塞i / o试图解决的确切问题。

Spring:为什么“root”应用程序上下文和“servlet”应用程序上下文是由不同的各方创建的?

据我了解,基于Spring的Web应用程序初始化如下: 第1步 : Servlet container (eg Tomcat)定位ServletContainerInitializer的实现,它是SpringServletContainerInitializer 。 第2步 : SpringServletContainerInitializer创建DispatcherServlet和ContextLoaderListener 第3步 : DispatcherServlet创建servlet application context 。 ContextLoaderListener创建root application context 。 步骤1由Servlet 3.0规范定义。 第2,3步完全由Spring定义。 我可以看到将web bean放在servlet上下文和non-web root non-web bean的合理性。 但是为什么我们必须在不同的地方创建这两个上下文,即DispatcherServlet和ContextLoaderListener ? 如果我们只想准备一切必要的东西,为什么不在ContextLoaderListener创建两个上下文,因为它可以被看作整个Web应用程序的main()方法。 我认为这是更多的逻辑和当前的方法只会使事情复杂化。 添加1 根据@ Shailendra的回复,我画了这个: 我的理解是,Spring引入了application context概念并将它们存储在Servlet Context 。 Servlet Context是java servlet technolgoy引入的概念。 我想DispatcherServlet实现应该有一个成员变量来保存servlet application context中servlet application context的key 。 所以它可以访问它自己的上下文。 也许关键是servlet名称。 root application context应该有一个众所周知的密钥,以便每个人都可以访问它。 […]

设置流回浏览器的Pdf的文件名

我有一个Java webapp创建一个pdf并将其流回浏览器。 byte[] pdf = report.exportPdfToArray(user); response.setContentType(“application/pdf”); response.setHeader(“content-disposition”, “inline; filename=\”My.pdf\””); outStream = response.getOutputStream(); outStream.write(pdf); outStream.flush(); outStream.close(); 报告被执行并被发送回浏览器,但即使我设置了content-disposition ,我也无法控制文件的名称。 我正在使用Jboss 4.2.1。 你知道我错过了什么吗? 编辑 :当内容处置是内联时,有没有办法设置文件名?

你如何通过https启动java servlet?

我试图在eclipse上运行tomcat上的一个servlet。 当我在服务器上运行时,servlet运行并为我提供如下链接: “HTTP://本地主机:8443 / AuthServer /服务器” 我已经为SSL配置了我的Tomcat服务器,如下所示: 当我在服务器上运行servlet时,它仍然使用http。 我希望我的servlet链接为“https:// …”而不是“http:// ..”。 你是怎样做的?

如何在Java Servlet中有效地破坏’session’?

我工作的Servlet有一个变量session 。 我试过session.invalidate(); ,这似乎已经破坏了会话,但是当我进行重定向时,如此response.sendRedirect(“restanes.jsp”); ,它为此行提供了HTTP Status 500错误: java.lang.IllegalStateException: getAttribute: Session already invalidated 这是因为我试图破坏会话。 但为什么页面无法重定向? 在其他地方的同一页上,我已成功重定向。 如何成功销毁会话和重定向? 代码段: if(request.getParameter(“logout”) != null ){ session.invalidate(); response.sendRedirect(“restanes.jsp”); } 更新:我需要做的就是return; 在response.sendRedirect(“restanes.jsp”); 。 衷心感谢BalusC 。

在servlet中获取请求url的一部分

我有一个使用/ev/* url-pattern映射的EmailVerification Servlet。 http://example.com/ev/ce52320570 如何在我的Servlet中获取此ce52320570部分URL? protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { String vid = “”; // Here I need to get the id from the URL }

为什么HTTPServlet是一个抽象类? 任何function原因?

HttpServlet是一个包含所有实现方法的抽象类。 为什么它是抽象的? 我得到的最常见的答案是限制HttpServlet的实例化。 但是还有其他方法可以做到这一点,就像私有构造函数会限制实例化一样。 我可以理解他们正在遵循模板方法设计模式。 如果某些方法是抽象的,那么即使用户的业务逻辑不需要它们,用户也会最终实现所有这些方法。 但是如果HttpServlet不是抽象的,用户仍然可以扩展它并覆盖require方法。 至少通过“抽象”这个词的字典含义,对我来说,拥有一个带有所有实现方法的抽象类没有任何意义。 是的,抽象和具体方法的组合是可以的。 但是,如果你正在创建一个类抽象,为什么不将这些方法抽象为子类必须覆盖的? 或者可能根本没有宣布它是抽象的? 像doGet()或doPost()就是这种情况。

如何防止石英中的内存泄漏

我在我的项目中使用石英。 我的Web应用程序显然在停止时导致内存泄漏,错误是: SEVERE: A web application appears to have started a TimerThread named [Timer-12] via the java.util.Timer API but has failed to stop it. To prevent a memory leak, the timer (and hence the associated thread) has been forcibly cancelled. Jan 2, 2013 6:55:35 AM org.apache.catalina.loader.WebappClassLoader clearReferencesThreads SEVERE: A web application appears to have started […]