웹 백엔드 데이터 상호작용의 몇 가지 방식
3677 단어 web
쿠키는 서버가 클라이언트에 저장한 데이터 정보 중 일부입니다.쿠키를 사용하는 전제 조건은 클라이언트 브라우저에서 쿠키를 사용할 수 있고 이에 대한 설정을 할 수 있다는 것이다.일반적으로 쿠키 사용은 찬성하지 않습니다.
(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 방식으로 가져옵니다
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Portswigger의 연구실 작성: CSRF 토큰 보호를 사용한 기본 클릭재킹이 견습생 수준 실습에서는 일부 CSRF 토큰 보호가 있음에도 불구하고 클릭재킹에 취약한 웹사이트에서 계정 삭제 흐름을 악용합니다. 주어진 자격 증명으로 로그인하면 계정 페이지로 이동한 후 사용자 계정을 삭제하는 데...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.