웹 백엔드 데이터 상호작용의 몇 가지 방식

3677 단어 web
1. 쿠키 대상 활용
쿠키는 서버가 클라이언트에 저장한 데이터 정보 중 일부입니다.쿠키를 사용하는 전제 조건은 클라이언트 브라우저에서 쿠키를 사용할 수 있고 이에 대한 설정을 할 수 있다는 것이다.일반적으로 쿠키 사용은 찬성하지 않습니다.
(1) 백그라운드 코드
Cookie cookie=new Cookie("name", "hello");
response.addCookie(cookie);

(2) 프론트 데스크 코드
   Cookie[] cookies=request.getCookies();
   for(int i=0;i

2.세션 객체 활용
세션 대상은 특정 세션의 사용자 데이터를 표시합니다.고객이 세션을 지원하는 JSP 웹 페이지를 처음 방문하면 서버에서 세션 대상을 만들어서 고객의 정보를 기록합니다.고객이 같은 사이트의 다른 페이지를 방문할 때, 여전히 같은session에 있다.
(1) 백그라운드 코드
 request.getSession().setAttribute("name", name);
 request.getSession().setMaxInactiveInterval(2);
 response.sendRedirect("welcome.jsp");

(2) 프론트 데스크톱 코드(jsp 페이지)
Object user=request.getSession().getAttribute("name");
3. Request 리디렉션을 사용하여 setattribute 설정
(1) 백그라운드 코드
request.setAttribute("name", "cute");
request.getRequestDispatcher("welcome.jsp").forward(request, response);  //      

PS: 백그라운드에서 사용하는 전송 코드가response일 경우.sendRedirect("welcome.jsp");//웹 주소가 welcome로 변경됩니다.jsp
리퀘스트 설정의 매개 변수가 올바르지 않습니다. 다른 요청으로 전환되었기 때문에 리퀘스트 매개 변수의 유효기간은 이번 요청입니다.
(2) 프론트 데스크 코드
String name=request.getAttribute("name").toString();

4. Ajax를 이용하여 비동기 데이터 요청(얻은 데이터는 json 또는 xml 형식으로 되돌아와 처리하기 편함)
(1) 백엔드 코드 사례(servlet을 이용하여 데이터를 전송)
public class TestServlet extends HttpServlet {

	/**
	 * Constructor of the object.
	 */
	public TestServlet() {
		super();
	}

	public void doGet(HttpServletRequest request, HttpServletResponse response)
			throws ServletException, IOException {
		doPost(request, response);
	}

	public void doPost(HttpServletRequest request, HttpServletResponse response)
			throws ServletException, IOException {

		response.setContentType("text/html");
		PrintWriter out = response.getWriter();
	    String data="[{\"name\":\"apple\",\"price\":23},{\"name\":\"banana\",\"price\":12},{\"name\":\"orange\",\"price\":8}]";
		out.write(data);
		out.flush();
		out.close();
	}

	/**
	 * Initialization of the servlet. 
* * @throws ServletException if an error occurs */ public void init() throws ServletException { // Put your code here } }

2. 프론트 데스크톱 js 요청 처리 데이터 코드
function createXMLHttpRequest(){
	var xmlrequest;
	if(window.XMLHttpRequest){
		xmlrequest=new XMLHttpRequest();
	}else if(window.ActiveXObject){
		try{
			xmlrequest=new ActiveXObject("Msxm12.XMLHTTP");
		}catch(e){
			try{
				xmlrequest=new ActiveXObject("Microsoft.XMLHTTP");
			}catch(e){
				xmlrequest="";
			}
		}
	}
	return xmlrequest;
}
//       
function change(){
	var xmlrequest=createXMLHttpRequest();
	xmlrequest.open("POST","TestServlet",true);
	xmlrequest.onreadystatechange=function(){
		if(xmlrequest.readyState==4&&xmlrequest.status==200){
			var data=JSON.parse(xmlrequest.responseText);
			var content="";
			for(var i=0;i";
				for(o in data[i]){
					content+="";
				}
				content+="";
			}
			content+="
"+data[i][o]+"
"; document.getElementById("test").innerHTML=content; } }; xmlrequest.send(); }

총괄: 사용자가 사이트를 방문하는 전체 생명 주기에 사용되는 데이터는session으로 저장한다. 예를 들어 사용자 이름, 로그인 상태, 쇼핑 카트 정보
웹 페이지에 표시되는 정보 데이터는 대부분 Request 또는 Ajax 방식으로 가져옵니다

좋은 웹페이지 즐겨찾기