웹 개발 팁

세션 공유 메커니즘 : 요청을 제출하기 전에 데이터를 새로 고침 F5 다시 같은 브라우저 데이터 동기화되지 전에 데이터를 얻기 위해 다른 브라우저 요청을 입력 다른 주소 표시 줄에 속하는 

세션 로그 오프 : session.invalidate을 (); // 모든 세션은 실패 
	     session.removeAttribute (XXX); // 실패 세션 

쿠키 : 내장 된 객체는 새로운 것이 필요하지만, 서버가 자동으로 만 새 이름이 jssionid의 쿠키는 것이다 
	쿠키 객체 getNmae ()의 이름을 얻을 
	getValue ()을 쿠키 객체의 값을 가져옵니다 
	요청을 .getCookies ()는 쿠키 객체의 배열을 가져 

request.getCookes ()를 () [0] : 브라우저 Jessionid 얻을 .getValue () 의 값과 session.getId () 

현재 프로젝트의 가상 경로 application.getContextPath () 
application.getRealPath (애플리케이션. 대해 getContextPath ()) 현재 절대 경로 프로젝트 

POST 요청 왜곡을 해결하려면 Request.setCharacterEncoding (); "UTF-8." 
		  response.setCharacterEncoding ( "UTF-8."), 

목표 범위 네 가지 종류 : 설정되어 getAttribute를 방법 
	PageContext의 전류 페이지 유효한 
	리다이렉트 데이터를 공유 할 수있는 유효 요구를 전달하기위한 요청과 요청 (보조 수요는) 데이터를 얻을 수 없다
	다른 브라우저 세션에서 브라우저 무효 닫
	프로젝트 기간이 실행 브라우저 변경을 포함하여, 유효 전반에 걸쳐 응용 프로그램 / 브라우저를 닫거나 무효가 다른 항목을 방문 
	···· JNDI 기술은 브라우저 나 다른 프로그램에 액세스 효과적으로 · · · · 가까운 수 

DriverManager에-jdbd 드라이브 : JDBC 
	접속 즉 접속 
	문 항목 : Connection.createStatement을 () 
	의 PreparedStatement 위하여 Connection.prepareStatement ()) 
	의 ResultSet 복귀 결과가 설정	 
	된 CallableStatement Connection.prepareCall 프로 시저 및 함수 (공정 함수명) 호출 
	대신 아웃에 저장된 함수에 의해 리턴 리턴 값 리턴 값없이 공정 
	예 : XXX = connection.preparecall ( "{호출 프로 시저 이름 (?,?,?)}") 
		xxx.setInt (. 1, XX) 
		xxx.setInt (2, XX) 
		xxx.execute () 
		xxx.registeroutparameter (. 3 종류. INTEGER)은 복귀 형 세트 // 
		INT 결과 = xxx.get를 (3)

	orecle 큰 텍스트 BLOB가 CLOB는 (약간 큰 데이터는 조작 입출력 경로 후에 저장 될 수 있고, 충격에 의해 상기 경로의 단점) 데이터베이스 메모리 xxx.setBinarystream (2, InputStream에서)에 영향을 미치는 큰 문제점; || 오브젝트의 InputStream에 내장 된 제 판독기 ; xxx.setCharacterstream (2, 리더) 
	MySQL은 텍스트입니다 

정의 된 자바 빈즈 : 1, 수정 공용 클래스, public 생성자 인수 2,이 건물은 개인이며, GET, 설정 방법을 제공한다. 
		캡슐화 된 데이터, 코드 재사용의 개선 속도 

의 web.xml의에서 라우팅 구성하는 데 사용 servlet2.5 
	servlet3.0 구성하지만, 제어 계층의 클래스가 주석을 추가하기 전에 @WebServlet ( "URL 주소") 할 필요가 없다 
	2.5web.xml로 시작시로드 배치 개수 판별 초기화를 수행 누구 
	@WebServlet에서 3.0 (시작시로드 = XX) 

기입 차분 URL : SRC에 <a href="a/add">의 요청은 제 웹 콘텐츠를 찾기 이 
	     대신하여 프로젝트의 web.xml에 / 루트 경로 
	     의 JSP / 대표 도메인 + 포트 번호 부분 

서블릿의 라이프 사이클은 : 
	(개입없이 자동)로드 - 초기화 방법 초기화 (한 번 실행) - 서비스 (서비스 추상 메소드 ) - 파괴 방법 파괴 - 자동 개입없이 (언로드) 

은 web.xml 설정 : 
	  전체 웹 컨테이너에 설정된 매개 변수 
	  <상황 PARAM>
          <PARAM 이름> XXX </ PARAM 이름> 
          XXXX </ PARAM 값> <PARAM 값> 
          </ 문맥 PARAM> 
	  파라미터에 의해 얻어진 : 서블릿에 사용 곳의 servletContext = super.getServletContext ServletContext 내 (); 
		문자열 문자열 = servletContext.getInitParameter ( "파라미터 이름") 
		에서 System.out.println (문자열) 

	현재의 실시 예에서, 서블릿 설정 파라미터 : 
	<서블릿> 
   	 <서블릿 이름> XXX </ 서블릿 이름> 
    	<서블릿 클래스> 
		XXXX 
		< / 서블릿 클래스> 
    	<초기화-PARAM> 
     	 <PARAM 이름>의 xxxxx </ PARAM 이름> 
      	<PARAM 값> XXXXXXX </ PARAM 값> 
    	</ 초기화-PARAM> 
   	 <시작시로드>. 1 </ 시작시로드>
 	 </ 서블릿>
	서블릿과 문자열 A = super.getInitParameter ( "파라미터 이름"); 파라미터 획득 방법
 
무선 인터페이스는 이점을 실현 : 
	인터페이스가 구현 클래스 상속 --- --- --- 빈 클래스와 인터페이스를 구현하는 어떤 클래스 
	의 인터페이스가 될 수 있습니다 구현하지 않는 방법 

서블릿은 세션의 방법의 적용 밖에 획득 
		세션 세션 = (세션) Request.getSession를 (); 
		의 PrintWriter pWriter response.getWriter = () 
		파일 용도 : ServletContext를 S = (ServletContext 내) request.getServletContext () ; 
		


데이터베이스에 저장된 인수 요청 데이터, 데이터 왜곡 질문 :? JDBC에 저장되어있는 데이터베이스를 확인 : MySQL의 : // localhost를 / 기사이 기사는 사실 = = UTF-8 & characterEncoding에 useUnicode이었다 

Tomcat의 : JSP --- ---- 자바 클래스 파일 작업 폴더 

페이징의 MySQL : 
	0, 오라클 MySQL의 시작, SQLSERVER 처음부터 시작하여 
	시작 페이지 데이터는 페이지 10 0 가정 : STU 제한 0,10 * FROM; 
	일반 포맷 표에서 * 선택 한계 (이 페이지 -1) * pageSize가, pageSize가;
SNO 여기서 오라클 탭 STU SELECT * ,: ]> = (N-1) * 10 + 1 SNO는 <= N * 10 의 데이터는 연속 번호라고 제공 
	의사 열 솔루션 같거나 중첩 된 쿼리 결과 클 수 없습니다 
	를 사용 의사 열에 의해 STU의 순서에서 S의 *를 선택 SNO의 ASC; 제 정렬 
SQLServer2005 + 탭 : ROWNUM 직접 의사 열로 개발 될 필요가 이용 될 수 없다 : SELECT * (
	然后: 선택 ROWNUM에서 t의 *는 (S를 선택 * SNO ASC별로 STU의 순서로). t 
		ROWNUM은> = (N-1) * 10 + 1 ROWNUM <= N * 10 여기서, 
	最后는 SELECT * 행 ( 
	선택 R ROWNUM에서 t의 * ((S)을 선택 * STU의 주문에서 SNO 오름차순으로.) t 
		여기서 ROWNUM> = (N-1) * 10 + 1 ROWNUM <= N * 10) t 
	) 여기서, R> = (N -1) * 10 + 1 및 R <= N * 10; 
	优化性能SELECT *로부터 ( 
	t. (S를 선택 * SNO ASC별로 STU의 순서부터 ROWNUM의 R, t의 선택 *) 
		 ROWNUM <= N을 * 10 
	) 여기서 R> = (N-1) * 10 + 1; 

	STU에서 * R로 (SNO ASC별로 SNO 순서) 위에 ROW_NUM ()를 선택 여기서 R <= N * 10 
	) 여기서 R> = (N-1) * 10 + 1; 

sqlserver2003分页: 상단을 선택关键字상위 3 * 스투에서,查询第一页数据假如每页3条

sqlserver2012 +分页: 오프셋 가져 오기 다음 만
	오프셋 SNO가 STU 순서에서 선택한 * ( 페이지 1) * +1 행이 페이지 크기는 다음 페이지 크기 행만 페치 

달성 페이징 : 다섯 개 변수 (데이터의 양에 대한 요구는 STU의 SELECT (*)를 COUNT, 
			페이지 당 스트립 사용자 정의 페이지 크기 
			, 페이지의 총 수는, 프로그램이 자동으로 0 합 / XX 합 %의 XX의 ==를 계산 ? 합 / XX + 1 : 
			현재 페이지 번호, 사용자 정의 
			현재 페이지 컬렉션 오브젝트) 검색어리스트 세트가 

모든 폼 데이터 방법을 얻을 : 
	VAR 데이터 = $ ( "양식")를 직렬화는 (); 

반환 및 반환 
	이 경우 마지막으로 저장됩니다 실행하기 전에 시도의 대가로, 수정이 시도 값이 우선 잡아 마침내 또한 경우에도 있지만, ; 참조 형은, 수정 된 속성이 마지막으로 수정 후 우선합니다 
은 try 마침내, 마침내 보답으로 직접 돌아왔다 리턴 / 경우 3. 

+ / CONCAT 
	+ 문자열이나 숫자 등의 기본 데이터 유형 및 CONCAT 될 수있다 단지 문자열을받을 수 있습니다. 

+는 널 포인터로 NULL, CONCAT을 남아있을 수 있습니다. 

	바느질 빈 문자열 경우, CONCAT 더 문자열 접합이 모두 StringBuilder 권장 경우 속도 둘 다 무시할 약간 빨라집니다.

관점에서 컴파일 된 바이트 코드 + 수 잇기 StringBuiler의 사용, 그래서 라인 +++ 문은 모두 StringBuilder, 여러 +++ 문이 여러 개 만들 생성됩니다, 그래서 왜 사용의 StringBuilder이 권장 사항을 참조하십시오. 

직렬화	 
	당신은 필드 플러스 과도 키워드 앞에 필드를 직렬화하지 않으려면. 

다음 헤더가 포함되어야 응답 JSON 기반 API 
	의 Content-Type : 응용 프로그램 / JSON을, 캐릭터 세트 = UTF-8 

설정이 자동으로 새로 고침하는 
1000 ", ("새로 고침 "Response.setHeader을 ; URL = 통해 http : // localhost : 8080 / 서블릿 / example.htm을 "); 

어떻게 JSP 서블릿 또는 단일 스레드 모드를 구현하는 방법? 
JSP 페이지의 경우, 페이지는 명령으로 설정할 수 있습니다. 
<% @ isThreadSafe = "거짓 페이지 "%> 
서블릿은 서블릿 정의 구현에서 SingleThreadModel 정체성 인터페이스를 만들 수 있습니다. 
참고 : JSP 나 서블릿이 동작의 단일 스레드 모드로 설정하면, 서블릿 예제를 작성하는 각 요청을 이끌 것, 이러한 행위가 이어질 (서버의 메모리 많은 압력뿐만 아니라 빈번한 가비지 컬렉션으로 이어질) 심각한 성능 문제가됩니다, 그래서 보통 나는 그렇게하지 않는다.

















	

  

추천

출처www.cnblogs.com/qinyios/p/11125006.html