form태그 속성

  1. action
  2. method
  3. enc : 서버로 보내지는 데이터의 형식 지정
    1.  application/x-www-form-urlencoded : 디폴트값
      • 서버로 전송되기 전에 url-encode된다. 
    2. multipart/form-data
      1. 그대로 이미지나, 파일 서버로 전송될 때

 

enc

  • 여러개의 파티션으로 나눠서 전송됨 (멀티파트)
    • 첨부파일
    • 본문 내용
    • 제목
  • post 타입이여야한다. 
  • 파일 업로드 시 사용함
  • @MultipartConfig
    • 여러개 파트로 구성되어있는 내용을 WAS가 파트별로 읽어서 파트별로 객체를 생성해줌
      • 입력한 내용이든, 업로든 된 파트 내용이든...
      • 사용자가 직접 입력한 거 : 입력 쿼리
      • 업로드된 파일 내용
    • 파트에 대한 추출과 보관을 WAS가 대신해준다. 
    • getport메소드만 호출해주면 된다. 
    • httprequest
    • collection 객체로 return 됨
    • part.getSubmittedFileName() : 업로드 된 파일 이름 추출
      • null이면 업로드 된 파일이 없음 
    • @MultipartConfig ( location = "저장될 위치")
      • write(filename)

 

<label>첨부 파일 :  <input type="file" name="myfile" multiple/></label><br>
  • multiple속성 : 여러개 선택 가능
    • 여러개 업로드 가능하게
    • multiple없으면 이전꺼 없어짐
  • 업로드 된 파일 개수만큼 파트가 생김
    • 10개 선택하면 정보를 담고있는 파트는 10개가 된다. 

 

 


@MultipartConfig(location = "c:/Temp/uploadtest")
part.write(System.currentTimeMillis()+"_"+fileName);
  • 파일이름 시간 정보 저장함

 

File isDir = new File(path);
		if (!isDir.isDirectory()) {
			isDir.mkdirs();
		}
  • 파일 없으면 생성
  • 아무것도 안 넣어도, 파트는 감
    • null 문자열 : 객체가 있는 것
    • null

jsp

  • wAS = web server + application server
  • application server
    • servlet container + jsp converter (servlet 변환)
  • jsp는 (만들어지거나 수정시에 )최조요청일 때 한번만 servlet으로 바뀜
  • 알고 있어야 하는 내용
    • servlet 프로그래밍에서 학습한 모든 내용
    • 스크립트 태그
    • 액션 태그
    • 내장 객체
  • 간단하게 그 때 그때 실행 결과가 표현되어야하는 건 표현식과 함께 자바식을 작성
  • doGet, 막 그런거 안 해도 됨, java파일 없어도 됨
    • 응답용으로 설계해서 get, post나누지 않음
    • servlet으로 바뀔 때, 서비스 메서드로만 감 (요청방식에 무관하게)
    • 서비스를 오버라이딩한 servlet
  • contentType도 지시자로 먼저 지시함 <%@ page language="java" contentType="text/html; charset=UTF-8"
  • html기반으로 원하는 곳에 적기
  • servlet은 오류를 랜더링 해야 알 수 있었지만, jsp는 종료 태그를 자동으로 해줌 (편안)
  • session 객체 자동으로 추출 됨
    • jsp에서 servlet으로 변환할 때 생성됨
    • 사용 안 할 꺼면, 페이지 지시자에 지시해주면 됨
  • jsp 태그 
    • 스크립팅 태그 - 간단간단하게 자바코드 
      • 지시자 태그 <%@
      • 스크립트릿(수행문) 태그 <%
        • 자유롭게 정의
        • service 메소드로 가서 실행 될 때마다 정의 됨
      • 선언문( member 변수 선언, 메스드 정의 ) 태그 <%!
        • servelt으로 변환될 때, servlet의 멤버 변수로
      • 표현식 <%=
        • 표현하고자하는 자바 올 수 있음 
        • ';' 오면 안 됨
        • out.print 호출식으로 바뀜
          • 출력하고 있는 태그 내장
        • r-value만 작성할 수 있음
    • 액션 태그

		<li><%= new Date(session.getCreationTime()) %>
		<li><%= application.getServerInfo()%></li>
		<li><%= application.getContextPath()%></li>
  • application.getServerInfo( ) : 서버 정보
  • application.getContextPath( ) : 지금 현재 path

 

<body>
	<h1>Query 문자열 추출(GET&amp;POST)</h1>
	<hr>
	<%
		if(request.getMethod().equals("POST")){
			request.setCharacterEncoding("utf-8");
		}
	%>
	<h2>당신의 &lt;이름은<%= request.getParameter("name") %>이군요!</h2>
	<a href = "<%= request.getHeader("referer")%>">입력화면으로</a>
</body>
  • 특수문자 엔티티
    • 특수문자 오류 인식때문에
  • <%= request.getHeader("referer")%> 
    • 요청한 얘는 누구냐!

 



  1. jsp를 servlet으로 변환하는 건 : 자스퍼
  2. l-value(변수) = r-value (변수, 리터럴, 상수, 연산식, 리턴값이 있는 함수 호출식)

'study > JAVA 전문가' 카테고리의 다른 글

[JSP] java bean, 스코프, MVC모델  (0) 2022.01.04
[jsp] 액션태그  (0) 2022.01.03
[servlet]요청 재지정  (0) 2021.12.29
[servlet] 상태정보 유지 기술  (0) 2021.12.29
[Servlet] Get방식  (0) 2021.12.28

+ Recent posts