전체 글 125

Server, Error java.lang.IllegalArgumentException

에러문구 loginOk.jsp 파일경고: 값이 [loginOk.jsp?name=복숭아]인 HTTP 응답 헤더 [Location](이)가 유효하지 않은 값이므로 응답에서 제거되었습니다. java.lang.IllegalArgumentException: code point [48,373]에 위치한 유니코드 문자 [복]은(는), 0에서 255까지의 허용 범위 바깥에 있으므로 인코딩될 수 없습니다.의미 한글 깨짐해결방법 - 1 데이터를 받아오는 jsp 파일에 받아온 데이터를 URLEncoder로 UTF-8 encode 하기 URLEncoder.encode(name,"UTF-8") 해결방법 - 2 request 자체에 UTF-8 encoding 하기 request.setCharacterEncoding("UTF-8"..

오류/Server 2024.09.10

Server, Session / Cookie 사용 방법

Connetionless HTTP 프로토콜은 클라이언트의 요청에 대한 응답을 하고 나면 해당 클라이언트와의 연결을 지속하지 않는다.Session / Cookie 주소에 정보를 실어 보내지 않아도 데이터들을 기억하기 위해 사용한다.Cookie 생성된 쿠키는 클라이언트의 웹브라우저에 저장한다. ID기억으로 다음에 접속시 별도의 절차없이 빠르게 연결 가능하다.사생활 침해의 문제가 있다.사용되는 예 : 팝업창의 오늘 하루 창 띄우지 않음, 새로고침 조회수 늘리는걸 방지, 최근 본 목록 ...쿠키 생성 Cookie cookie = new Cookie("쿠키명", 값); cookie.setMaxAge(3); // 초단위 생성된 쿠키는 클라이언트의 웹 브라우저에 저장 response.addCookie(cookie);..

Web 2024.09.10

Server, Connection Pool이란?

Connection Pool 서버에 미리 Connection을 설정해 놓는 것 데이터베이스와 연결된 커넥션을 미리 만들어서 풀(pool) 속에 저장해 두고 있다가 커넥션을 풀에서 가져다가 쓰고 다시 풀에 반환하는 기법을 말한다. Connection의 내용이 바뀌면 서버만 수정해주면 된다. Connection Pool은 은행금고와 비슷하다. 은행금고에서 돈을 찾기 위해서는 사용자는 은행이라는 곳을 통해 돈을 찾아낼 수 있다.여기서 은행금고는 Connection Pool이며 그 사이를 연결해주는 것이 DataSource이다. 클라이언트 -- DataSource -- Connection Pool장점 - 풀속에 미리 커넥션이 생성되어 있기 때문에 커넥션을 생성하는데 드는 연결 시간이 소비되지 않는다.- 재사용하..

Web 2024.09.10

Server, JSP란?

JSP 웹에서 실행하는 프로그램java in HTML 선언문  1번만 처리한다.Servlet의 init() 와 같은 의미        //Java 구역 - 전역변수      //서버가 실행될때 딱 한번만 실행한다.%> 스크립트릿(scriptlet)  요청 시 마다 처리한다. Servlet의 doGet(~~) or doPost(~~) 와 같은 의미       //Java 구역 - 지역변수      //요청시 마다 실행 된다. %>JSP 특징 JSP에서는 servlet 처럼 request, response, out을 선언하지 않아도 되는 이유는  JSP는 request, response, session, page ... 등 다양한 내장객체를 가지고 있다.  Java 파일을 잡으면 반드시 컴파일이라는 동작을 ..

Web 2024.09.10

Server, Servlet으로 DB에내용 저장/출력하기

필요한 파일 HTML / Servlet / DAO / DTO저장 HTML //... //... form으로 정보를 입력받는 HTML 작성한다.여기서 form의 action 주소를 servlet으로 지정한다.  [프로젝트명/웹서블릿명]   실제 servlet 파일 위치 : [guestbookServlet.project] - [src/main/java] - [guestbook.service.package] - [GuestbookWriteServlet.java] 나는 웹 서블릿이름을 /write로 지정했다.Servlet@WebServlet("/write")public class GuestbookWriteServlet extends HttpServlet { private static final long se..

Web 2024.09.10

Server, Error / com.hello.HelloServlet.class:1 Failed to load resource: the server responded with a status of 404 ()

xml 파일 HelloServlet com.hello.HelloServlet.class HelloServlet /HelloServlet에러문구com.hello.HelloServlet.class:1 Failed to load resource: the server responded with a status of 404 ()의미 주소가 틀렸다.404 에러는 주소가 틀려서 나타나는 에러 문구이다.해결방법 틀린 주소를 찾아야한다. xml 파일 만들때 servlet-class 주소를 잘못 적었다.com.hello.HelloServlet.class class 파일이지만 .class는 생략해서 적어야한다. com.hello.HelloServlet 해결완료~

오류/Server 2024.09.09

Server, Servlet / Starting Tomcat v9.0 Server at localhost' has encountered a problem

에러문구Starting Tomcat v9.0 Server at localhost' has encountered a problem의미 1. url 맵핑이 겹쳐 오류가 난다. 2. Tomcat 경로 충돌해결방법 - 1 web.xml 파일 안에  웹 서블릿을 이미 선언했는데 Servlet 파일 안에 또 웹 서블릿을 선언하면 오류가 발생한다. @WebServlet("/HelloServlet");   결론, 둘 중 하나는 지우면 된다.해결방법 - 2 1. [Servers] 더블 클릭2. Server Options에 [Public module contexts to separate XML files] 체크해결방법 - 3 Tomcat 경로 확인 / 재설정 해결방법 - 4 Server - [Clean] 해결방법 -..

오류/Server 2024.09.09

Server, Servlet / error: package javax.servlet.http does not exist

오류 문구HelloServlet.java:3: error: package javax.servlet.http does not exist의미 해당 패키지를 모르겠다.해결방법 servlet-api.jar 파일을 환경변수에서 선언해준다. 1. 시스템 속성 - 환경변수 - 새로 만들기2. 변수 이름 : CLASSPATH    변수 값 : ${Tomcat 위치}\lib\servlet-api.jar 내 Tomcat 파일 위치 > C:\Tomcat 9.0\lib\servlet-api.jar 3. cmd창이 열려있다면 껐다 다시 키기4. 확인 -  cmd창    > set  해결완료~

오류/Server 2024.09.09

Server, Servlet이란?

Server Tomcat동적인 웹을 만들기 위한 Servlet이나 JSP의 컨테이너WAS(Web Application Server) 웹에서 실행하는 프로그램 Servlet, JSP, PHP, 등등 ...  Servlet 웹에서 실행하는 프로그램 클라이언트에서 DB로 직접 연결하여 사용 할 수 없다.서버는 클라이언트와 DB를 서로 연결시켜주는 역할을 한다. Servlet은 Java 파일이지만 public static void main(String[] args) 메소드가 없다.주기함수이며 new로 생성하지 않아도 된다. (Tomcat이 한다.) 주기함수(Life Cycle) init() : 맨 처음에 1번만 호출할수 있다.↓service() : 클라이언트가 요청할 때마다 호출할 수 있다.- doGet()- ..

Web 2024.09.09