草庐IT

session_write_close

全部标签

java - 检查有效 session : isRequestedSessionIdValid() vs getSession(false)

我正在开发JavaServlet。在检查用户是否登录时,我想检查HTTP请求是否具有有效session。为了检查这一点,我有两种可能性:(1)protectedvoidprocessRequest(HttpServletRequestrequest,HttpServletResponseresponse)throwsServletException,IOException{HttpSessionsession=request.getSession(false);if(session!=null){//userisloggedin...}}由于我将false作为参数传递,如果不存在有效s

java - ImageIO.write 不工作?

我正在写一个3D绘画,我在java中发现了一个问题。在代码的一部分中它正在工作:try{ImageIconsavePane=newImageIcon("save.png");StringFilePath=(String)JOptionPane.showInputDialog(null,"Enterfilepathandname\nWarning:Insteadofone'\\'write'\\\\'","Save",JOptionPane.PLAIN_MESSAGE,savePane,null,"C:\\\\example.png");BufferedImageimage=newRob

java - Hibernate session.getTransaction().begin() 与 session.beginTransaction() 之间的区别

我找不到关于这个主题的太多信息。谁能解释一下Hibernatesession.getTransaction().begin()vssession.beginTransaction()vssession之间的区别.beginTransaction().begin() 最佳答案 调用session.getTransaction().begin()没有多大意义,因为session.getTransaction()将检索已经在进行中的事务,因为它假设交易正在进行中。您基本上是在说,开始这个应该已经在进行中的交易。session.beginT

java - Apache POI 3.7 OutOfMemoryError : Java heap space when writing to large no of rows to xlsx files

我需要在xlsx文件中写入超过65000行的结果集。所以,我正在尝试使用ApachePOI3.7。我收到OutOfMemoryError:Java堆空间。除了增加JVM内存似乎无法解决问题外,我该如何解决此问题。简单示例代码:publicstaticvoidmain(String[]args)throwsIOException{Workbookwb=newXSSFWorkbook();CreationHelpercreateHelper=wb.getCreationHelper();Sheetsheet=wb.createSheet("newsheet");//Createarowan

java - 为什么 java 的 inputstream.close() 会阻塞?

我的Java程序使用ProcessBuilder(将redirectErrorStream设置为true)并有一个循环来运行进程的输入流的读取方法,这是阻塞的。然后我调用的外部程序停止等待输入和标准输入。我现在想杀死这个过程。这不是通过(在单独的线程中)调用进程的destroy方法,并调用inputstream的close方法来停止read方法阻塞来完成的,这样我的初始线程就可以结束它的生命了吗?由于某些原因process.getInputStream().close()block。从JavaDoc我不明白为什么会发生这种情况。此外,我不明白为什么javadoc说“InputStrea

Java 安全 session

无论何时进行身份验证,您的应用程序都应更改其使用的session标识符。这有助于防止某人设置session、复制session标识符,然后诱骗用户使用该session。因为攻击者已经知道session标识符,所以他们可以在用户登录后使用它来访问session,从而获得完全访问权限。这种攻击被称为“session固定”等。用户登录系统后如何更改sessionID? 最佳答案 使session无效时,您仍在服务器上。//getstuffoutofsessionyouwantbeforeinvalidatingit.currentSess

java : writing large files?

问候,我从数据库中获取大量记录并写入文件。我想知道写入大文件的最佳方法是什么。(1Gb-10Gb)。目前我正在使用BufferedWriterBufferedWritermbrWriter=newBufferedWriter(newFileWriter(memberCSV));while(done){//dowritings}mbrWriter.close(); 最佳答案 如果您真的坚持为此使用Java,那么最好的方法是数据一进来就立即编写,而不是收集所有数据首先从ResultSet到Java的内存中。否则,在Java中您至少需要那

java - Hibernate Session.save() 不返回值?

下面的代码抛出一个转换错误LongnewID=(Long)session.save(object);我是hibernate新手。不知道为什么。 最佳答案 session.save()的返回值取决于您的映射。很可能您的ID类型不是Long。尝试这样做:System.out.println(session.save(object).getClass().getName());然后您会看到类型名称。 关于java-HibernateSession.save()不返回值?,我们在StackOve

java - 打开和关闭 Hibernate session

这就是我获取Hibernatesession和创建查询的方式。HSession.getSession().createQuery("queryhere").executeUpdate();和Critariacr=HSession.getSession().createCritaria(..)..;HSession是我的Session工厂所在的位置,getSession()方法返回一个新session(getSessionFactory().openSession();)我想知道在调用cr.list();之后session是否仍然存在?如果活着,得到这个条件或者执行查询方式不好吗?和创建

java - 当没有调用 @Remove 注释方法时,有状态 session bean 会导致泄漏吗?

我有一个JSF应用程序,它在托管bean中从远程有状态sessionbean(EJB3.0)调用业务逻辑。现在有一个HttpSessionListener调用该有状态sessionbean上的@Remove注释方法,因此一旦HttpSession被销毁,容器就可以删除有状态sessionbean。现在我想知道如果我不调用带@Remove注释的方法并且HttpSession被销毁会发生什么。有状态sessionbean的客户端此时不存在记录器。容器会删除有状态sessionbean吗?或者它会永远存在导致某种泄漏(内存/磁盘)? 最佳答案