㈠ arangodb在java語言下的測試如何request請求
HttpServletRequest request = ServletActionContext.getRequest();
這樣就可以了
㈡ java request和response的區別
當我們向後台發送東西的時,後台就需要用request來進行接收,如果需要給前台返回數據響應時,就會用到response
聯系生活 你向別人借東西 其實就是一次請求 request 別人接收到這個請求時 會判斷自己是否有您需要的 然後給你回答或者把東西給你 就是response
㈢ java中Request對象的主要方法有哪些
getAttribute(String name):返回由name指定的屬性值
getAttributeNames():返回request對象所有屬性的名字集合,結果是一個枚舉的實例
getCookies():返回客戶端的所有Cookie對象,結果是一個Cookie數組
getCharacterEncoding():返回請求中的字元編碼方式
getContentLength():返回請求的Body的長度實例
getInputStream():返回請求的輸入流,用於獲得請求中的數據
getMethod():獲得客戶端向伺服器端傳送數據的方法
getParameter(String name):獲得客戶端傳送給伺服器端的有name指定的參數值
getParameterNames():獲得客戶端傳送給伺服器端的所有參數的名字,結果是一個枚舉的實例
getParameterValues(String name):獲得有name指定的參數的所有值
getProtocol():獲取客戶端向伺服器端傳送數據所依據的協議名稱
getQueryString():獲得查詢字元串
getRequestURI():獲取發出請求字元串的客戶端地址
getRemoteAddr():獲取客戶端的IP地址
getRemoteHost():獲取客戶端的名字
getSession([Boolean create]):返回和請求相關Session
getServerName():獲取伺服器的名字
getServletPath():獲取客戶端所請求的腳本文件的路徑
例外可以在開發工具中寫request後寫「.」 工具或自動把可以調用的方法提供給你
㈣ java怎麼創建Request
java怎麼創建Reques步驟如下:
HttpServletRequest request = ServletActionContext.getRequest();
ServletContext servletContext = ServletActionContext.getServletContext();
request.setAttribute("req", "請求范圍屬性");
request.getSession().setAttribute("ses", "會話范圍屬性");
servletContext.setAttribute("app", "應用范圍屬性");
HttpServletResponse response = ServletActionContext.getResponse();
㈤ java中request是個什麼東東,干什麼用的
request這個對象不用事先宣告,就可以在JSP網頁中使用,在轉譯為Servlet之後,它會轉換為javax.servlet.http.HttpServletRequest型態的對象,HttpServletRequest對象是有關於客戶端所發出的請求之對象,只要是有關於客戶端請求的信息,都可以藉由它來取得,例如請求標頭、請求方法、請求參數、使用者IP等等信息。
request的主要方法:
getParameterNames():取得客戶端所發出的請求參數名稱.
getParameter():可以讓您指定請求參數名稱,以取得對應的設定值.
getServerName():請求的伺服器.
getProtocol():使用協議.
getMethod():請求方法.
getServerPort():請求埠號.
getContextPath():Context路徑.
getServletPath(): Servlet路徑.
getRequestURI():URI路徑.
getQueryString():查詢字元串.
getRemoteAddr():使用者主機IP.
getRemotePort():使用者使用埠號.
簡單來說就是取值用的。
㈥ java如何在一個普通的類中獲取request對象
你是指你的 web 項目中使用到一個工具性的類,它的形參中沒有 HttpRequest 或 HttpSession 參數?
如果是這樣的話,我們需要使用一個 ThreadLocal 變數,我們把當前 request 的變數綁定到裡面,在一個 request 請求的生命周期內我們在方法調用的各個更深的層次中都可以直接使用它而不需要在每個方法中都傳遞這個 request 參數,保存在某個地方就容易導致因為多個請求共用同一個實例而出問題,所有 context 相關的變數不保存在任何業務類相關並且可能被多線程共用的對象實例中才是保證不會出現線程安全問題的途徑。
例如,這個例子中我們只要把web.xml中配置好 ContextFilter 後它就會自動在請求開始時綁定一個 context,結束後自動銷毀,在這中間的任何時刻我們都可以通過 MyWebContext.getCurrentContext() 得到我們的 HttpServletRequest 實例和其它相關的 context 變數:
//MyWebContext記錄當前Request的所有context變數。因為servlet是一個請求綁定一個線程的,我們用ThreadLocal不會有線程安全問題。
classMyWebContext{
=newThreadLocal();
//拿出當前線程綁定的context
(){
return(MyWebContext)contexts.get();
}
(){
returnnewMyWebContext();
}
//綁定一個context到當前線程
publicstaticvoidsetContext(MyWebContextcontext){
contexts.set(context);
}
publicstaticvoidclearContext(){
contexts.set(null);
}
privateHttpRequestrequest;
publicvoidsetRequest(HttpRequestrequest){
this.request=request;
}
publicHttpRequestgetRequest(){
returnthis.request;
}
}
{
publicvoiddoFilter(ServletRequest,SerlvetResponse,FilterChainchain){
//創建並綁定我們的context
MyWebContextcontext=MyWebContext.createContext();
context.setRequest(request);
MyWebContext.setContext(context);
try{
chain.doFilter(request,response);
}finally{
//銷毀context
MyWebContext.clearContext();
}
}
}
{
(){
//其它方法只要它是工作在servlet請求調用鍵中間的某個時刻,它就肯定能拿到Filter綁定進去的Request,這樣我們就不必要在每次方法調用中都額外地傳遞一個HttpRequest參數,當調用層次很深時這能明顯減少復雜性。
MyWebContextcontex=MyWebContext.getCurrentContext();
HttpRequestrequest=context.getRequest();
=...;
HttpSessionsession=request.getSession(false);
...
}
}
㈦ java request 如何取到發送請求的地址是什麼
request對象通過以下方法來獲取請求路徑,如下所示:
String getServerName():獲取伺服器名,localhost;
String getServerPort():獲取伺服器埠號,8080;
String getContextPath():獲取項目名,/Example;
String getServletPath():獲取Servlet路徑,/AServlet;
String getQueryString():獲取參數部分,即問號後面的部分:username=zhangsan
String getRequestURI():獲取請求URI,等於項目名+Servlet路徑:/Example/AServlet
String getRequestURL():獲取請求URL,等於不包含參數的整個請求路徑:http://localhost:8080/Example/AServlet 。
㈧ 如何解決javarequest請求中有多個參數的問題
通過程序遍歷http請求的所有參數放到hashmap中,用的時候方便了。
如果參數值有中文,那麼需要在程序中添加filter轉碼,或者在下面程序里,對paramValue轉碼
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
Map map = new HashMap();
Enumeration paramNames = request.getParameterNames();
while (paramNames.hasMoreElements()) {
String paramName = (String) paramNames.nextElement();
String[] paramValues = request.getParameterValues(paramName);
if (paramValues.length == 1) {
String paramValue = paramValues[0];
if (paramValue.length() != 0) {
System.out.println("參數:" + paramName + "=" + paramValue);
map.put(paramName, paramValue);
}
}
}
Map map = new HashMap();
Enumeration paramNames = request.getParameterNames();
while (paramNames.hasMoreElements()) {
String paramName = (String) paramNames.nextElement();
String[] paramValues = request.getParameterValues(paramName);
if (paramValues.length == 1) {
String paramValue = paramValues[0];
if (paramValue.length() != 0) {
System.out.println("參數:" + paramName + "=" + paramValue);
map.put(paramName, paramValue);
}
}
}
}
㈨ java中session和request的區別
request 指在一次請求的全過程中有效,即從http請求到伺服器處理結束,返回響應的整個過程,存放在HttpServletRequest對象中。在這個過程中可以使用forward方式跳轉多個jsp。在這些頁面里你都可以使用這個變數。request是用戶請求訪問的當前組件,以及和當前web組件共享同一用戶請求的web組件。如:被請求的jsp頁面和該頁面用<include>指令包含的頁面以及<forward>標記包含的其它jsp頁面;
Session是用戶全局變數,在整個會話期間都有效。只要頁面不關閉就一直有效(或者直到用戶一直未活動導致會話過期,默認session過期時間為30分鍾,或調用HttpSession的invalidate()方法)。存放在HttpSession對象中 ,同一個http會話中的web組件共享它。