목록분류 전체보기 (226)
Daily coding
jsp 작성해보기 1. 변수 선언 : 자바와 같은 데이터 타입을 사용한다. 다만, requset로 받은 데이터는 모두 String 타입이다. 2. 반복문 / 조건문 : 자바에서처럼 for문 등의 반복문과 if문을 사용할 수 있다. * html태그와 함께 사용하기 위해서 자바 코드는 반드시 안에 적고, html 코드는 반드시 바깥 쪽에 쓰도록 한다. ( 중괄호, 대괄호 주의 ) 3. JSP 선언부 : : 선언 부분의 영역 - 변수선언 (global= 전역변수), 함수선언, 클래스 선언 등 - 딱 한번만 실행되는 영역, 잘 사용하지는 않음 - 이 부분에는 클래스를 선언하거나 함수를 선언할 수 있다. 또한 전역 변수를 지정할 수 있는데, 페이지가 리로딩이 되더라도 전역변수의 값은 초기화 되지 않는다. 4. J..
JSP : Java Server Page (WAS) CLIENT ----- request ----- > SERVER (web) SERVER (DB) (EX> local host:8080/sample) java + html server + container (html코드) servlet + jsp내장 (get/post:보안문제) < ------ respond ------- 해석 Spring Framework MyBatis Framework * Servlet : Java 코드 안에 HTML코드 들어가 있음 * JSP : HTML안에 Java 코드 들어가있음 HTML, javaScript, css, jquery, java.. 모두 사용가능 함 * Jsp는 무조건 서버를 거쳐 해석 되어야 실행이 가능하다(서버코..
> Cookie와 Session login 후 필요 정보-> ID(String), 정보(Object : Id, pw ...) HTTP의 쿠키와 세션이 필요한 이유 ? : HTTP 프로토콜의 서버는 항상 클라이언트가 누구인지 확인 해야한다. 클라이언트가 요청을 한 후 응답을 받게되면 HTTP 프로토콜은 그 연결을 끊는데, 연결 비용을 줄이기 위해 커넥션을 재활용한다. (connectionless) 또한 통신이 끝나면 상태를 유지하지 않는 특징이 있어, 클라이언트가 요청한 상태정보는 유지하지 않게 된다 (stateless) 이러한 HTTP의 두가지 특성 때문에, 클라이언트가 요청한 정보를 담아둘 cookie나 session이 없다면 매 페이지마다 로그인을 해야하는 등의 불상사가 발생할 수 있다. 1. Coo..
Include & forward : include / forward 할 서블릿은 꼭 등록이 되어있어야함 ( @webServlet("/이름") ) 1. include : : 서블릿에 다른 서블릿을 끼워 넣음 (페이지 이동x) 뷰에 뿌려지는 url 주소는 처음 열었던 서블릿으로 되어있음 뷰를 따로따로 만들어놓고 붙여놓을 수 있음 * 사용법 - getRequestDispatcher 소속의 include() 함수 사용 RequestDispatcher dis = req.getRequestDispatcher("include"); // web.xml에 등록된 이름으로 dis.include(req, resp); *** include 하는 서블릿에는 printwriter를 close하면 안됨, -> 불러온 후 닫아버려서..
web(client) Java( server ) * 링크로 요청보내기 1. html 1) anchor 태그 , ====> request.getParameter("name") (String 으로 받음) 2) form 태그 // 보낼 링크(또는 서블릿 이름)과 메소드 방식(get/post) 지정 // 데이터 입력받아서 name을 지정해 줌 // 데이터 보내는 버튼 2. Java Script
server 코드를 작성하는 servlet에서 클라이언트의 요청을 받아 처리할 때, servlet 내부에서 html 코드를 작성하여 내보낼 수 있으나 매우 귀찮다. 그러나 html은 서블릿의 데이터를 받아서 처리하는 작업이 매우 까다롭기 때문에 서버와 클라이언트의 역할을 모두 수행할 수 있는 jsp로 작업 진행이 가능하다 Java 클래스 파일에서 html 코드를 작성하는 것은 작성 자체나 디버깅이나 매우 불편하기 때문에 Servlet에서 요청 받은 데이터를 처리 후 그것을 가지고 jsp로 이동하여 클라이언트 코드(html)와 서버의 코드를 모두 처리한다. ( 현재 추세는 jsp의 사용을 줄이는 것이라고 한다. 또한 Node.js 처럼 DB와 직접 연결하는 방식을 많이 사용한다) < Servlet에서 js..
web ( client ) Java ( server ) * * web (client) ------> Java (Server) : sendRedirect와 마찬가지로 Servlet에서 페이지를 이동할 수 있는 또다른 방식이 있다 RequestDispatcher 소속의 forward 메소드를 사용하여 링크를 이동할 수 있다. sendRedirect 는 GET 방식으로 페이지를 이동하지만 forward 방식은 클라이언트가 요청한 방식에 따라 이동한다. 또한, 가장 큰 차이점이라고 할 수 있는 것은 바로 '데이터 포함 여부" 이다. forward 방식은 데이터를 가지고 이동할 수 있으며 인코딩여부에 상관없이 데이터가 나온다 ** 비교 // sendRedirect : 단순이동할 때 사용하는 함수 (데이터 넘기는것..
web ( client ) Java ( server ) * web (client) ------> Java (Server) : 클라이언트에서 데이터를 가지고 자바로 이동할 수 있는 몇가지 방법이 있다 ( 다음에 알아보자 ) 마찬가지로, Java의 servlet에서 다른 곳으로 이동할 수 있는 방법이 존재한다. 가장 대표적인 2가지 방식은 sendRedirect 와 forward 이다. sendRedirect 는 단순 이동시 주로 사용되는 방식이며, 데이터를 가지고 이동할 수 있으나 코드가 복잡해지기 때문에 데이터를 가지고 이동하기 위해서는 forward 방식을 사용한다. 또한, sendRedirect 는 반드시 doGet메소드로 이동하게 되며, Forward 방식은 client의 요청대로 메소드를 수행한다..
1. Servlet 전송 오류 만들기 * Servlet 에서 오류를 발생시킬 수 있다. * 대표적인 오류 404 (Page not found) : 페이지 주소 오류 또는 페이지 없음 500 (Internal server error) : 코드가 잘못되어 나타나는 오류 * HttpServletRequest 소속의 함수 sendError sendError: sendError( HttpServletResponse.SC_NOT_FOUND, "못 찾겠다는 에러" ); - 에러 메세지를 설정하고 에러를 만들수 있다 - 에러의 종류는 HttpServletResponse (resp) 에 소속되어 있음 public class HelloServlet extends HttpServlet { @Override protected..
//여기는 서버 영역! public class HelloServlet extends HttpServlet{ // servlet 을 만들기 위해서는 HttpServlet 클래스를 상속하여 // doGet과 doPost 메소드를 오버라이딩한다 @Override protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { // get방식일때는 이곳으로 } @Override protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletExcepti..