Win a copy of Programmer's Guide to Java SE 8 Oracle Certified Associate (OCA) this week in the OCAJP forum!
  • Post Reply
  • Bookmark Topic Watch Topic
  • New Topic

HttpServletResponse obj lost after using System.getProperty

 
Ian Yang
Ranch Hand
Posts: 44
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
In "MyServlet.java" 's doGet method, I called another class's method which utilizes the following codes
FileInputStream file = new FileInputStream("inputFile"); Properties p = System.getProperties();
p.load(file);
System.setProperties(p);
String var = System.getProperty("VAR");
...
....
Notice the above codes are in ANOTHER class's method and "MyServlet.java" just called it, but I found immediately after it calls this method, the HttpServletResponse object is no longer functioning properly. For example,
response.sendRedirect("URL");
has not ANY effect at all.
By the way, i found the "var" does get the correct results. So the "System.getProperty()" does get right result.
Do you know what's the reason for the response object's lost ?
Thanks lot,
Ian
 
Mike Curwen
Ranch Hand
Posts: 3695
IntelliJ IDE Java Ubuntu
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
My first thought was this:

The API for setProperties suggests that whatever is inside the System properties 'bag' is replaced (overwritten) by the one you are setting.

However, this doesn't appear to be the case, in fact, sending null into the setProperties method doesn't appear to make the current set of properties be forgotten.

I can't duplicate your condition. My property file contains one mapping hello=world. Here is my code for the 'helper' class Here is the servlet:The output is: And I get to done.jsp to boot.
[ February 26, 2002: Message edited by: Mike Curwen ]
 
  • Post Reply
  • Bookmark Topic Watch Topic
  • New Topic