JAVA16 - jsp, servlet

Leafy·2023년 12월 29일
0

중앙_자바

목록 보기
20/76

모든 서블릿은 이 부모클래스 밑

servlet 클래스 이름은 두 단어가 좋지만 지금은 기능이 하나니까 한 단어.

jsp는 페이지도 보여줘야할 때 쓰고,
servlet은 자바 로직만 쓸 때(페이지 필요없고... 예를 들면 삭제) 쓴다.

servlet -> java로 웹 해볼까 하고 나왔던 애.

package com.poseidon.web;

import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

@WebServlet("/test")
public class Test extends HttpServlet {
	private static final long serialVersionUID = 1L;
       
    public Test() {
        super();
    }

    //이 형태가 Spring으로 넘어갈 것. Spring의 원시적인 모양.
    //Get
	protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		response.getWriter().append("Served at: ").append(request.getContextPath());
	}

	//Post
	protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		doGet(request, response);
	}

}

Spring의 밑거름이 될 servlet

private static final long serialVersionUID = 1L;
https://whitekeyboard.tistory.com/496
https://hjjungdev.tistory.com/187

package com.poseidon.web;

import java.io.IOException;
import java.io.PrintWriter;

import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

//servlet은 jsp랑 다르게 java니까 컴파일하고 써야 해서 서버 재기동
@WebServlet("/test")
public class Test extends HttpServlet {
	private static final long serialVersionUID = 1L; //이 줄 뭔지 공부해오기
       
    public Test() {
        super();
    }

    //이 형태가 Spring으로 넘어갈 것. Spring의 원시적인 모양. 90년대
    //Get
	protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		//response.getWriter().append("Served at: ").append(request.getContextPath());
		response.setContentType("text/html;charset=UTF-8");
		PrintWriter pw = response.getWriter();
		pw.println("<html>");
		pw.println("<head>");
		pw.println("<title>타이틀입니다.</title>");
		pw.println("</head>");
		pw.println("<body>");
		pw.println("<h1>서블릿이 호출되었습니다.</h1>");
		pw.println("<img src=\"\">");
		pw.println("이렇게 작업해야 해요. 너무 힘들어요.");
		pw.println("수정하려면 다시 컴파일해서 실행해야 해요.");
		pw.println("이것보다 jsp가 조금 더 편합니다. 아니 더 편해요.");
		pw.println("</body>");
		pw.println("</html>");
	}

	//Post
	protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		doGet(request, response);
	}

}

/*
 * request
 * response
 * 
 * get방식
 * 
 * 
 * post방식
 * 
 */

servlet 장점
java에서 data 받아넣긴 쉬움
단점 html이 너무 어려워짐

https://bbinya.tistory.com/46

요리사가 되기 위해 요리사 자격증을 취득할 필요는 없지만, 영양학과 위생 수칙을 아는 요리사가 좋은 요리사인 것 처럼,
소프트웨어 엔지니어가 되기 위해 대학의 CS 전공을 할 필요는 없지만, 데이터구조와 알고리즘같은 기본 지식은 알고 있어야 좋은 엔지니어가 될 수 있겠죠.
그런데 대학에서 배운 사람이 더 뛰어난 사람은 아니지만, 정규 커리큘럼을 가지고 체계적로 배우는게 더 제대로 배울 수 있다는 것은 분명한 사실입니다. (저도 얼마전까지 고졸)
요즘은 다행히 많은 교육 서비스에서 CS 커리큘럼을 가르치고 있습니다. 코세라나 유튜브 등에서 볼 수 있는 무료 강의도 많고요.
무엇보다 지금 부트캠프 등에서 배우는 응용 기술은 길어봐야 2년짜리지만, CS 기초는 평생가는 것 입니다.
즉, 대학은 중요하지 않지만, 소프트웨어 엔지니어를 평생 직업으로 갖고자 한다면 CS를 체계적으로 배우는 것은 매우 중요합니다. 따라서 비전공자인 소프트웨어 엔지니어분들은 CS를 꼭 배우시면 좋을 것 같습니다


sql
heidi sql

  • board_title 뒤에 칼럼 추가
ALTER TABLE board
ADD COLUMN board_content VARCHAR(3000) NOT NULL AFTER board_title;

iconfinder
https://www.iconfinder.com/search?q=delete


github 기록 남기기
매일매일 올렸는지 보고
어떤 중요 로직 짰는지 확인

0개의 댓글