Request의 경로에 대한 자세한 설명
TestServlet 소스 코드는 다음과 같습니다.
package coresun;
import java.io.IOException;
import java.io.PrintWriter;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
public class TestServlet extends HttpServlet {
public void doGet(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException {
response.setContentType("text/html;charset=gb2312");
PrintWriter out = response.getWriter();
out.println("<html><head><title> request </title></head><body><h2>");
out.println("request.getRequestURL()= "+request.getRequestURL()+"<br>");
out.println("request.getRequestURI()= "+request.getRequestURI()+"<br>");
out.println("request.getContextPath()= "+request.getContextPath()+"<br>");
out.println("request.getServletPath()= "+request.getServletPath()+"<br>");
out.println("request.getQueryString()= "+request.getQueryString()+"<br>");
out.println("request.getPathInfo()= "+request.getPathInfo()+"<br>");
out.println("request.getPathTranslated()= "+request.getPathTranslated());
out.println("<br>");
out.println("request.getProtocol()= "+request.getProtocol()+"<br>");
out.println("request.getMethod()= "+request.getMethod()+"<br>");
out.println("request.getScheme()= "+request.getScheme()+"<br>");
out.println("request.getRequestedSessionId()= "+request.getRequestedSessionId()+"<br>");
out.println("request.isRequestedSessionIdFromCookie()= "+request.isRequestedSessionIdFromCookie()+"<br>");
out.println("request.isRequestedSessionIdFromURL()= "+request.isRequestedSessionIdFromURL()+"<br>");
out.println("request.isRequestedSessionIdValid()= "+request.isRequestedSessionIdValid()+"<br>");
out.println("</h2></body></html>");
}
}
이 서브렛은 웹에 있습니다.xml 파일의 배치는 다음과 같습니다: (핵심 코드만 있습니다)
<servlet>
<servlet-name>test</servlet-name>
<servlet-class>coresun.TestServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>test</servlet-name>
<url-pattern>*.do</url-pattern>
</servlet-mapping>
*.do는do 끝 주소는 이 서브렛에 액세스할 수 있습니다.그리고 주소 표시줄에 다음과 같은 주소를 입력하십시오: (서버가 로컬이고 포트가 8080이며 웹 루트가 FilterWeb이라고 가정합니다)
http://localhost:8080/FilterWeb/update.do?userName=zhangsan&age=20
페이지가 다음과 같이 반환됩니다.
request.getRequestURL() = http://localhost:8080/FilterWeb/update.do
request.getRequestURI() = /FilterWeb/update.do
request.getContextPath() = /FilterWeb
request.getServletPath() = /update.do
request.getQueryString() = userName=zhangsan&age=20
request.getPathInfo() = null
request.getPathTranslated() = null
request.getProtocol() = HTTP/1.1
request.getMethod() = GET
request.getScheme() = http
request.getRequestedSessionId() = 0D5219B7FF11D47EBE95B2E6A31076B5
request.isRequestedSessionIdFromCookie() = true
request.isRequestedSessionIdFromURL() = false
request.isRequestedSessionIdValid() = true
request.getAuthType() = null
이 방법들의 의미는 모두가 그것의 이름을 통해 짐작할 수 있을 것이다.
서브렛의 url-pattern 주소는 다음과 같이 변경됩니다.
<servlet>
<servlet-name>test</servlet-name>
<servlet-class>coresun.TestServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>test</servlet-name>
<url-pattern>/faces/*</url-pattern>
</servlet-mapping>
위의 표현은/faces/로 시작하는 주소의 경우 이 서브렛에 액세스할 수 있음을 나타냅니다.
브라우저의 주소 표시줄에 다음 주소를 입력합니다.
http://localhost:8080/FilterWeb/faces/update?userName=zhangsan&age=20
페이지가 다음과 같이 반환됩니다.
request.getRequestURL() = http://localhost:8080/FilterWeb/faces/update
request.getRequestURI() = /FilterWeb/faces/update
request.getContextPath() = /FilterWeb
request.getServletPath() = /faces
request.getQueryString() = userName=zhangsan&age=20
request.getPathInfo() = /update
request.getPathTranslated() = D:\FilterProject\FilterWeb\update
request.getProtocol() = HTTP/1.1
request.getMethod() = GET
request.getScheme() = http
request.getRequestedSessionId() = 0D5219B7FF11D47EBE95B2E6A31076B5
request.isRequestedSessionIdFromCookie() = true
request.isRequestedSessionIdFromURL() = false
request.isRequestedSessionIdValid() = true
request.getAuthType() = null
2. 서버와 클라이언트 주소를 얻는 방법:
<%
String webUrl = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+request.getContextPath();
String webUrl1 = request.getScheme()+"://"+request.getLocalAddr()+":"+request.getLocalPort()+request.getContextPath();
String webUrl2 = request.getScheme()+"://"+request.getRemoteAddr()+":"+request.getRemotePort()+request.getContextPath();
out.println("server="+webUrl+"<br />");
out.println("local="+webUrl1+"<br />");
out.println("remote="+webUrl2+"<br />");
%>
서버Name:웹 서버 이름 가져오기
localAddr:웹 서버 주소 가져오기
remoteAddr:클라이언트의 주소 가져오기
3. getResource (") 의 상대 경로입니다. 웹 프로젝트의 getResource 상대 경로를 주로 논의합니다.
예를 들어 FileService 클래스와 같은 서비스 클래스가 있습니다.
부분 코드는 다음과 같습니다.
java.net.URL url = FileService.class.getResource("");
System.out.println("class.getResource(\"\")="+url.toString());
url = FileService.class.getClassLoader().getResource("");
System.out.println("class.getClassLoader().getResource(\"\")="+url.toString());
출력 결과는 다음과 같습니다.
class.getResource("")=file:/E:/workspace/.metadata/.plugins/org.eclipse.wst.server.core/tmp0/wtpwebapps/easyui/WEB-INF/classes/org/study/service/
class.getClassLoader().getResource("")=file:/E:/workspace/.metadata/.plugins/org.eclipse.wst.server.core/tmp0/wtpwebapps/easyui/WEB-INF/classes/
설명:
class.getResource () 방법은class 파일이 있는 폴더에서 시작합니다.예를 들어 저희 서비스 폴더입니다.
class.getClassLoader().getResource()는/WEB-INF/classes/루트 디렉토리에서 찾습니다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.