백엔드 기초
HTTP
- 무상태 프로토콜(연결 유지x)
- Cookie - 정보 유지용
WAS(Web Application Server)
- 미들웨어 : 클라이언트와 DBMS 사이
- 프로그램 실행 환경과 DB접속 기능 제공, 여러 개의 트랜젹션을 관리, 비지니스 로직을 수행
- 자체적으로 웹 서버 기능 내장
- 자원 이용의 효율성 및 장애 극복, 배포 및 유지보수의 편의성을 위해 웹서버와 WAS를 대체로 분리
사용 프로그램
- JAVA
- Eclipse
- Tomcat
Servlet
- 자바 웹 어플리케이션의 구성요소 중 동적인 처리를 하는 프로그램 역할
-WAS에서 동작하는 JAVA클래스, HttpServlet 클래스를 상속
자바 웹 어플리케이션
-
WAS에 설치(deploy)되어 동작하는 어플리케이션
-
HTML, CSS, 이미지, Servlet, JSP 등
-
폴더구조
WEB-INF/web.xml : DeploymentDescriptor 배포기술자
WEB-INF/lib : 각종 자료, jar파일
WEB-INF/classes : java 패키지, class들Servlet 작성방법
3.0 이상 : JAVA annotation 사용
3.0 미만 : Servlet을 등록할 때 web.xml 파일에 등록코드 예시
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { response.setContentType("text/html;charset=utf-8"); PrintWriter out = response.getWriter(); out.println("<h1>1~10까지 출력!</h1>"); for(int i=0; i<10; i++) { out.println(i+"<br>"); } out.close(); }
web.xml 구조
<servlet>
<description></description>
<display-name>TenServlet</display-name>
<servlet-name>TenServlet</servlet-name>
<servlet-class>exam.TenServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>TenServlet</servlet-name>
<url-pattern>/ten</url-pattern>
</servlet-mapping>
</web-app>
// url요청이 들어오면 <servlet-mapping><url-pattern>에서 ten을 찾은 후
// TenServlet이라는 서블렛을 <servlet><servlet-name>에서 찾은 후
// <servlet-class>를 실행한다
HttpServlet 메소드
- 최초 호출 시 HttpServlet 객체 생성, init 호출
- service(request, response) : 요청이 들어왔을 때 실행됨
HttpServlet.service() : GET요청인 경우 doGet 호출, POST요청인 경우 doPost 호출 - destroy() : HttpServlet 객체 해제 시 호출
<form method='post' action='/firstweb/LifecycleServlet'>
name : <input type='text' name='username'><br>
<input type='submit' value='ok'><br>
</form>
// String name = request.getParameter("name");
Header 정보 출력
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
response.setContentType("text/html");
PrintWriter out = response.getWriter();
out.println("<html>");
out.println("<head><title>Header</title></head>");
out.println("<body>");
out.println("<h1>Header Information</h1>");
Enumeration<String> headerNames = request.getHeaderNames();
while(headerNames.hasMoreElements()) {
String headerName = headerNames.nextElement();
String headerValue = request.getHeader(headerName);
out.println(headerName + " : " + headerValue + " <br> ");
}
out.println("</body>");
out.println("</html>");
}
+ contentPath로 uri 가리는 방법 알아보기
Author And Source
이 문제에 관하여(백엔드 기초), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@csct3456/백엔드-기초저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)