웹 서버 구조
웹 클라이언트 - 요청 - >[WAS] {Server Application (servlet)} 동적 페이지 생성코드 <-> 실행환경(컨테이너) <->DB ]
웹 클라이언트 <- 응답
[개발자] 소스작성 -> servlet,java -> 컴파일 : .clsss -> 등록 -> 서블릿 컨테이너
웹 클라이언트 <- 응답<->요청 -> 서블릿 컨테이너 <-> DB
이벤트 | 생명주기 메소드 | 실행 |
서블릿 초기화 |
init() | 초기에 한번 |
요청/응답 | service() doGet() doPost |
스레드를 통해 동시에 |
서블릿 종료 | destroy() | 종료할때 한번 |
서블릿 클래스 -> (인스턴스화) -> 서블릿 객체 -> (초기화) -> 서블릿 -> service()
-> get일경우 doGet() , post일 경우 doPost()
정적 페이지 ( 이미지 html css javascript ) : 웹 서버가 처리
동적 페이지 : WAS 에 넘김 (웹 컨테이너)
오픈소스 : APACHE , web application server -> tomcat (개발환경)
자바 - 컴파일 - 컨테이너로 올려짐 - 인스턴스 - 초기화 - 실행상태
인코딩 클래스
public class CharacterEncodingFilter implements Filter{
@Override
public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain)
throws IOException, ServletException {
request.setCharacterEncoding("utf-8");
response.setContentType("text/html);charset=utf-8");
chain.doFilter(request, response);
}
}
인코딩 클래스 맵핑
<filter>
<filter-name>characterEncodingFilter</filter-name>
<filter-class>com.web.servlet.CharacterEncodingFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>characterEncodingFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
추가
boiler plate code / 공백일때 처리 방법
메이븐 repository - 최상위 - jar 파일(압축해제x) - lib에 배치
org.apache.commons.lang3.StringUtils
https://mvnrepository.com/artifact/org.apache.commons/commons-lang3
Maven Repository: org.apache.commons » commons-lang3
Apache Commons Lang, a package of Java utility classes for the classes that are in java.lang's hierarchy, or are considered to be so standard as to justify existence in java.lang. VersionRepositoryUsagesDate3.10.x3.10Central750Mar, 20203.9.x3.9Central2,938
mvnrepository.com
jar 파일을 lib파일 에 배치하기
<적용>
String age = StringUtils.defaultIfEmpty(req.getParameter("age"), "0");
StringUtils.isBlack(req.getParameter("age")); //empty 이면 true : false
Server Tomcat v9.0 Server at localhost failed to start 에러
https://devlimk1.tistory.com/10
[Tomcat_Error] Server Tomcat v9.0 Server at localhost failed to start 에러 해결방법 2가지!
데브림의 블로그 포스팅 한 것들을 한 눈에 확인하고 싶다면 클릭! 👉 https://github.com/DevLimK1/tistory-map 👈 나의 소소한 기록이 누군가에게는 도움이 되고, 그토록 원하던 답변일 수 있다. 에러(
devlimk1.tistory.com
https://franklee0180.tistory.com/9
[Error] 톰캣 서버 충돌
server tomcat v9.0 server at localhost failed to start. 톰캣 서버가 잘 작동이 안될때 이런 문구가 뜰 때가 있다. 이거가지고 매번 애 먹었는데, 여태까지의 경우는 톰캣 삭제 -> 재설치 하면 잘 됐는..
franklee0180.tistory.com
톰켓 9.0. 은 servlet 4.0
https://fliedcat.tistory.com/65
Servlet 버전별 web.xml 스키마 기술
개요 Tomcat 9에서 쓰던 어플리케이션을 Jeus7에서 Deploy하려다 보니 JeusServer.log 파일에 아래와 같은 오류가 발생한다. Cannot find the declaration of element 'web-app' 원인은 JEUS 7 은 servlet 3.0까지..
fliedcat.tistory.com
<form>태그를 이용하여 servlet에 요청하기
#html 측면(servlet에 form 태그 내용 전달하는 방법) 태그 안의 을 누르면 태그의 action attribute가 가리키는 servlet에 태그의 내용이 전달됩니다. 가령, 위 코드와 같은 경우 servlet mapping이 login인 serv..
yanoos.tistory.com
' / ' 없이 action에 쓰기
<form action="adder.do" method="get">
첫 수 : <input type="text" name="num1"><br/>
두 수 : <input type="text" name="num2"><br/>
<input type="submit" value="더하기"/>
</form>
Servlet.java
@WebServlet(
urlPatterns = {
"/AdderServlet",
"/exam/adder.do"
}
'Back-end > 웹(web)' 카테고리의 다른 글
[웹] 데이터 공유와 쿠키 (0) | 2020.05.24 |
---|---|
[웹] 서블릿 초기화 파라미터 (0) | 2020.05.22 |
[웹] JSP 파일에 서블릿 적용하기 (0) | 2020.05.20 |
VS code 비쥬얼 코드 설정하기 (0) | 2020.03.24 |
웹(web) 을 시작하다 / VS Code 파일 생성 (0) | 2020.03.24 |
댓글