Ⅰ 關於如何在java的web應用獲取伺服器資源
我曾經試圖在applet中通過讀取伺服器上的一個xml文件來創建一棵樹型結構。在尋找了很多回資料後,發覺這答種做法好像行不通。Applet是運行在客戶端的腳本,個人認為很難或者是無法獲取伺服器端的資源。
通過這次的學習,我掌握了幾種獲取伺服器資源的方法。歸納如下:
1.在servlet中通過getServletContext().getRealPath(「」)可以獲得伺服器某個資源的真實路徑,然後可以通過創建URL,或者創建IO流來獲取資源。
2.在servlet中通過getServletContext().getResourceAsStream(「」)來獲得資源流。
3.在jsp中通過pageContext來獲得ServletContext對象pageContext.getServletContext(),然後用1,2種方法都可以獲得伺服器資源。
4.在一般的javaBean中,通過this.getClass().getResourceAsStream(「」)可以獲得和javaBean的class文件一個目錄下的資源。
Ⅱ 如何通過Java獲取一般網頁的內容 如何通過Java獲取加密網頁的內容(伺服器進行了ssl配置)
public class SocketTest {
public static void main(String[] args) {
//你想獲取代碼的網站
String strServer = "www..com";
//起始頁面,/為根頁
String strPage = "/";
try
{
//設置埠,通常http埠不就是80羅,你在地址欄上沒輸就是這個值
int port = 80;
//用域名反向獲得IP地址
InetAddress addr = InetAddress.getByName(strServer);
//建立一個Socket
Socket socket = new Socket(addr, port);
//發送命令,無非就是在Socket發送流的基礎上加多一些握手信息,詳情請了解HTTP協議
BufferedWriter wr = new BufferedWriter(new OutputStreamWriter(socket.getOutputStream(), "UTF-8"));
wr.write("GET " + strPage + " HTTP/1.0\r\n");
wr.write("HOST:" + strServer + "\r\n");
wr.write("Accept:*/*\r\n");
wr.write("\r\n");
wr.flush();
//接收Socket返回的結果,並列印出來
BufferedReader rd = new BufferedReader(new InputStreamReader(socket.getInputStream()));
String line;
while ((line = rd.readLine()) != null)
{
System.out.println(line);
}
wr.close();
rd.close();
}
catch (Exception e)
{
e.printStackTrace();
}
}
}
Ⅲ 使用java語言如何獲取用戶正在瀏覽的網站地址信息(這個網站不是自己的web應用,即用戶訪問別的應用..)
1L的在開玩笑嗎? 你用log4j還能記錄別的web的日誌?
如果用戶是從你的web程序通過點擊鏈接之類訪問的其他web的話 獲取就很簡單了 因為起始的地方是你的web程序 獲取的方法有很多
但如果是直接輸入的url 這個就沒法了 因為這一個請求就已經直接到別人的web了 不過你可以嘗試一下用js監控地址欄的變化 然後非同步傳回 不過這種監控可能不準確 因為別人跳轉的時候不一定你的ajax正好把完整的url傳回
或者你看一下 java.net網路編程方面的只是 應該可以監控到網路信息
Ⅳ 如何用javaweb實現,當點擊讀取按鈕時,獲取到輸入框的所輸入的網址,並將網頁顯示在讀取按鈕下面
不知道你是不是要這效果<!DOCTYPEhtmlPUBLIC"-//W3C//DTDXHTML1.0Transitional//EN""http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<htmlxmlns="http://www.w3.org/1999/xhtml">
<head>
<metahttp-equiv="Content-Type"content="text/html;charset=utf-8"/>
<title>無標題文檔</title>
<script>
functionbtn(){
document.getElementById('myframe').src=document.getElementById('in').value;
document.getElementById('myframe').contentWindow.location.reload(true);
}
</script>
</head>
<bodystyle="text-align:center">
<divstyle="border:1pxsolidred;width:200px;height:200px;margin:0auto">
<p>URL:<inputid="in"/></p>
<buttonid="btn"style="width:75px"onclick="btn()">讀取</button>
</div>
<div>
<p>
<iframeid="myframe"width="800"height="500"src="http://www..com"></iframe>
</p>
</div>
</body>
</html>
Ⅳ 如何從一個javaweb項目跳轉到另外一個javaweb項目主頁
可以使用JavaScript做,代碼如下:
<%@ page language="java" import="java.util.*" pageEncoding="GBK"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<script language="javascript" type="text/jscript"> <!--JavaScript跳轉方法-->
function loadWeb(){
window.location.href='http://www.aaaa.com';
}
</script>
<base href="<%=basePath%>">
<title>My JSP 'index.jsp' starting page</title>
<meta http-equiv="pragma" content="no-cache">
<meta http-equiv="cache-control" content="no-cache">
<meta http-equiv="expires" content="0">
<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
<meta http-equiv="description" content="This is my page">
<!--
<link rel="stylesheet" type="text/css" href="styles.css">
-->
</head>
<body onload="loadWeb()"> <br></body>
</html>
這段代碼寫在項目B的主頁文件裡面
Ⅵ 在java web中怎麼用java代碼獲取訪問者的IP,同時根據訪問者的IP判斷他是屬於那個城市
舉個例子,假設伺服器端運行的是servlet,客戶端(瀏覽器)發送url到伺服器,經過解析,伺服器找到並運行相應的servlet程序,在servlet程序中可以接受到用戶提交的信息,比如用戶提交方式是Get方式,則servlet調用其doGet方法,在doGet方法中,可以通過request獲取用戶提交的數據(包括ip)
protected void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
String ip = requset.getRemoteAddr();//獲取客戶端ip
}
獲得了ip後就可以查詢ip所屬地址,可以登錄http://www.ip138.com/
若要自己編寫軟體查詢,就要連接資料庫。
Ⅶ java怎麼獲得web應用的網址
比如這個路徑
http://localhost/servlet/DemoServlet?name=test
String scheme = request.getScheme();//獲取請求協議-http
int serverPort = request.getServerPort();//獲取服務埠號 -8080
String serverName = request.getServerName();//獲取服務域名(主機名) -localhost
String requestURI = request.getRequestURI();//獲取請求uri路徑 -/servlet/DemoServlet
String servletPath = request.getServletPath();//獲取servlet路徑 -/DemoServlet
String contextPath = request.getContextPath();//獲取上下文路徑 -/servlet
String queryString = request.getQueryString();//獲取uri請求參數 -/name=test
StringBuffer requestURL = request.getRequestURL();//獲取url路徑 -http://localhost/servlet/DemoServlet