getParameter와 getAttribute의 차이

3746 단어 javaweb
1. 두 웹 구성 요소 간에 링크 관계가 있을 때 링크된 구성 요소는 getParameter () 방법으로 요청 파라미터를 얻는다. 예를 들어welcome를 가정한다.jsp와 authenticate.jsp 간 링크 관계,welcome.jsp에는 다음 코드가 있습니다.
<a href="authenticate.jsp?username=weiqin">authenticate.jsp a><form name="form1" method="post" action="authenticate.jsp"><input type="text" name="username"> 
  <input type="submit" name="Submit" value="  "> 
form> 


authenticate에 있습니다.jsp에서 Request를 통해getParameter("username") 방법으로 요청 매개 변수 username:
String username=request.getParameter("username"); %> 

2. 두 웹 구성 요소 간에 전송 관계가 있을 때 전송 대상 구성 요소는 getattribute () 방법으로 전송 원본 구성 요소와 Request 범위 내의 데이터를 공유합니다.authenticate를 가정합니다.jsp와hello.jsp 간은 전송 관계입니다.authenticate.jsp는 Hello를 원합니다.jsp는 현재의 사용자 이름을 전달하는데 어떻게 이 데이터를 전달합니까?먼저 authenticate에서setattribute() 메서드를 jsp에서 호출하려면:
String username=request.getParameter("username"); 
request.setAttribute("username",username); 
%> 

<jsp:forward page="hello.jsp" /> 

hello에 있어요.jsp에서 getattribute () 방법으로 사용자 이름을 얻습니다:
String username=(String)request.getAttribute("username"); %> 
Hello:  

더 깊은 차원에서 생각하면,request.getParameter () 방법으로 전달된 데이터는 웹 클라이언트에서 웹 서버로 전송되며 HTTP가 데이터를 요청하는 것을 의미합니다.request.getParameter() 메서드는 String 유형의 데이터를 반환합니다.request.setattribute () 와 getattribute () 방법으로 전달된 데이터는 웹 용기 내부에만 존재하며, 전송 관계가 있는 웹 구성 요소 사이에만 공유됩니다.이 두 가지 방법으로 Object 유형의 공유 데이터를 설정할 수 있습니다.
리퀘스트를 이용하면getParameter가Form 요소를 받았을 때 기본적으로 문자 인코딩은 ISO-8859-1입니다. 이런 인코딩은 한자를 정확하게 표시할 수 없습니다.현재 두 가지 해결 방법이 있는데 하나는 작업을 실행하기 전에 리퀘스트의 인코딩 형식을 설정하는 것이다. 문법은'리퀘스트.setCharacterEncoding('GBK')이다.다른 방법은 다음 구문으로 문자 인코딩을 변환하는 것입니다.
str=request.getParameter("boy"); 
  byte  b[ ]=str.getBytes("ISO-8859-1"); 
  str=new String(b);

좋은 웹페이지 즐겨찾기