JavaWeb 의 Servlet day 02

3309 단어 자바Webservlet
맵 디 테 일
  • 1:Servlet 하나 에 여러 개
  • 2:(*)어댑터 를 사용 하여 Servlet 에 자원 이름
       :/*              Servlet
       :       
            *.abc   Servlet        abc    
    
  • 을 설정 할 수 있 습 니 다.
  • 3:Servlet 의 생명주기 방법 집행 순서
       >init>service>destory
    
               ,             
    
     web.xml       ,             ,0      
    
    <load-on-startup>0</load-on-startup>
    
  • 4:Servlet 의 이름 은 default 일 수 없습니다.default 는 프로젝트 의 정적 파일 에 접근 하 는 데 사 용 됩 니 다
  • Servlet 3.0 주석 설정
  • 문제:여러 개의 Servlet 이 있다 면 웹.xml 파일 에 대량의 설정 이 필요 하여 파일 이 너무 비대 해 집 니 다.
  • 해결 방법:xml 파일 의 일부 설정 대신 주 해 를 사용 합 니 다
  • 주해 의 사용 방식
       :WebServlet("/    ")
       :metadata-complete(false)   true,   false
    
  • WebServlet 에서 자주 사용 하 는 요소
    String name() default"";   Servlet   
    String[] value default{}; urlPatterns      <url-pattern>
    int loadOnStartup() default 0;  Servlet      
    WebIitParam[] initParams() default{}  Servlet      
    
  • Servlet 에서 주 해 를 사용 하 는 장단 점
      :    ,    ;
      :           Servletd   
    

  • Servlet 스 레 드 의 안전 문제
  • 스 레 드 가 안전 하지 않 은 원인:다 중 스 레 드 가 동시에 같은 자원 에 접근 하 는 것
  • 해결 방법
     1:Servlet  SingleThreadModel,         
     2:       ,           ,
    
  • Http 프로 토 콜 없 는 문제
  • http 는 프로 토 콜 이 없 는 상태,즉 기억력 이 없어 서 요청 마다 데 이 터 를 공유 할 수 없습니다
  • 해결 방식
    1:      ,                
      :   ,     
    2:Cookie:             
    3:Session          ,          ,            
    
  • Cookie
    쿠키 디저트:클 라 이언 트 기술 로 데 이 터 를 브 라 우 저 에 저장 합 니 다.(요청 헤더 에)
  • 쿠키 의 기본 사용:
    1:  cookie   
        Cookie(String name,String vlaue)
        Cookie c=new Cookie("username","neld")
    2: Cookie           
        response  .addCookie(c);
    3:  Cookie      
        Cookie[]cookies=request  .getCookie()
        for(Cookie c : cookies){
            if(“username”.equals(c.getName())){
                username = c.getValue();
            break;
            }
        }
    4:Cookie  name value     
        URLEncoder.encode(String name,String enc)  ,  
        URLDecoder.decode(String name,String enc)  ,  
    5:  Cookie      ,
          Cookie    setValue(String name)       
              Cookie  ,name     Cookie   
    6:Cookie     Cookie  .setMaxAge(int expiry)
        expiry=0     Cookie  
        expiry>0    Cookie       
        expiry<0   ,        Cookie  
    7:Cookie       
        Cookie  .setPath("/");      Cookie  .setDomain(".baidu.com")
    
  • 쿠키 의 결함
        1:      ;
        2:            ,   
        3:         4kb
        4:             
    

    Session
    Session:세 션,세 션 추적 을 실현 하 는 기술,실제 바 텀 은 Cookie 를 사용 하여 이 루어 집 니 다.서버 의 기술 로 브 라 우 저 에 메모리 주 소 를 주 고 주소 에 따라 메모리 에서 데 이 터 를 가 져 옵 니 다.
        1:  Session
                request  .getSession()
        2:    
                session  .setAttribute(String name,Object value);
        3:    
                session  .getAttribute(String name);
        3:    
                session  .setAttribute(String name,Object vlaue)
        4:    
                session  .removeAttribute(  )
        5:  session  
                session  .invalidate();
        6:    
                session  .setMaxInactiveInterval(  );
        7:URL  ,      Cookie     
                String url = resp.encodeUrl("/session/list");
                       url;
    

    좋은 웹페이지 즐겨찾기