2015-12-02 19 views
1

我正在與servlets作爲新手我一直在試圖獲得桌面應用程序,並試圖看看他們如何才能出來,當我使用servlets,與system.getproperty方法如果我打我的提交按鈕我' m得到一個空白的消息。使用servlets顯示sys屬性

這是我的jsp代碼。

<form action="checkservlet" method="get"> 
<input type="submit" value="submit"/><br/> 
</form> 

這是我的servlet代碼

package com.check.pack; 

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; 


/** 
* Servlet implementation class checkservlet 
*/ 
@WebServlet("/checkservlet") 
public class checkservlet extends HttpServlet { 
    private static final long serialVersionUID = 1L; 

    /** 
    * @see HttpServlet#HttpServlet() 
    */ 
    public checkservlet() { 
     super(); 
     // TODO Auto-generated constructor stub 
    } 

    /** 
    * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response) 
    */ 
    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { 
     // TODO Auto-generated method stub 
     response.getWriter().append("Served at: ").append(request.getContextPath()); 
    } 

    /** 
    * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response) 
    */ 
    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { 
     // TODO Auto-generated method stub 
     response.setContentType("text/html"); 
     PrintWriter write = response.getWriter(); 
     Mulizwa Mcheck = new Mulizwa(); 
    } 

} 

這是我的類代碼

package com.check.pack; 
import java.util.*; 

public class Mulizwa { 

    public static void main(String[] args) { 
      Properties prop = System.getProperties(); 
      Set<Object> keySet = prop.keySet(); 
      for(Object obj : keySet){ 
       System.out.println("System Property: {"+obj.toString()+","+System.getProperty(obj.toString())+"}"); 
      } 
     } 
} 

我不是專家,但我在這裏學習,就是我從期待上面的代碼如果我點擊提交按鈕,我需要在瀏覽器中查看有關係統屬性(如os名稱java版本等)的響應。

回答

0

首先,你需要寫在你的Mulizwa類的函數可能返回您的系統屬性,而不是它的主要方法的字符串,打印在標準性能出來,一些這樣的事

public String getPropertyString(){ 
      Properties prop = System.getProperties(); 

StringBuilder propertyString = new StringBuilder(); 
      Set<Object> keySet = prop.keySet(); 
      for(Object obj : keySet){ 
       propertyString.append("System Property: {"+obj.toString()+","+System.getProperty(obj.toString())+"}"); 
      } 

return propertyString.toString(); 
} 

然後在你的servlet的doPost方法方法,

PrintWriter write = response.getWriter(); 
     Mulizwa mCheck = new Mulizwa(); 
write.write(mCheck.getPropertyString()); 
+0

IM歌廳這種反應在歷任:/檢查 – bli

+0

你在哪裏得到這樣的迴應,您可以更具體 –

+0

爲輸出時,我點擊提交按鈕 – bli

0

而不是在main編寫這些代碼,保存在一個方法Mcheck類這樣

public void writeSystemPropertiesInResponse(HttpServletResponse response)) { 
      Properties prop = System.getProperties(); 
      Set<Object> keySet = prop.keySet(); 
      PrintWriter writer = response.getWriter(); 

      for(Object obj : keySet){ 
       writer.write("System Property: {"+obj.toString()+","+System.getProperty(obj.toString())+"}"); 
      } 
     } 

而且在你的servlet調用此方法

protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { 
     // TODO Auto-generated method stub 
     response.setContentType("text/html"); 
     //PrintWriter write = response.getWriter();no need of this 
     Mulizwa Mcheck = new Mulizwa(); 
     Mcheck.writeSystemPropertiesInResponse(resonse); 
    } 

UPDATE

如果你不想通過響應作爲參數,你可以使用StringBuilder建立一個字符串,並使用PrintWriter寫的建議在其他答案。

0

變化

package com.check.pack; 
import java.util.*; 

public class Mulizwa { 

    public String getDetails(){ 
     ResourceBundle rb = ResourceBundle.getBundle("System", Locale.getDefault()); 
     StringBuilder str = new StringBuilder(" "); 
     Enumeration<String> en = rb.getKeys(); 
     while (en.hasMoreElements()) { 
      String key = (String) en.nextElement(); 
      String value = rb.getString(key); 
      str.append(key+":"+value +"\n"); 
     } 
     return sb.toString(); 
    } 
} 

和小服務程序類變化的doPost像下面

PrintWriter out = response.getWriter(); 
out.println(new Mulizwa().getDetails());