JAVA -> OOP -> I/O -> Network -> Network(Servlet)
Network(Servlet)
에디터에 Java Web Develper가 있어야 돌아감
👀 servlet sts setting
(기존 workspace가 잇엇다면 new workspace 변경)
1. preferences 세팅
encoding 먼저 변경 - content types 의 text 안에있는거 싹다 바꿔줘야함
intall/update updates - Autometic updates 체크박스 해제
java copiler,installed jres 버전 맞추기
2. 서버 생성
Apache Tomcat v8.5 , jre jdk-11
3. dinamic web project 생성
target rundime : Apache
java EE tools - generate develpment ~ : /src/main/webapp/WEB-INF/web.xml 생성됨 -> 해당 파일 welcome 삭제
->
properties buildpath 버전 맞추기
java copliler 도
facets 도 (runtimes 확인 - 아파치)
class 말고 servlet 생성
web.xml 수정
서버(apache) 우클릭-> Add and Remove -> configured 세팅 해야 localhost 실시간으로 확인 가능
- web.xml
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://xmlns.jcp.org/xml/ns/javaee" xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd" version="3.1">
<display-name>web</display-name>
<!-- servlet tag : package 및 javav 파일을 가상의 이름으로 변경 -->
<!-- 단, servlet-name은 중복 불가 -->
<servlet>
<servlet-name>site</servlet-name>
<servlet-class>web.site</servlet-class> <!-- 해당 java class명 로드 : 패키지명.클래스명 -->
</servlet>
<!-- mapping : java 파일을 web에서 작동되도록 하는 역할-->
<!-- (위에서 정한 가상 이름을 url-pattern 내 명칭으로 변경..?-가상 웹페이지) -->
<servlet-mapping>
<servlet-name>site</servlet-name> <!-- servlet 가상이름 로드 , 명칭 잘 맞춰야함 -->
<url-pattern>/index.do</url-pattern> <!-- 가상 웹페이지를 출력하는 형태 -->
</servlet-mapping>
</web-app>
-site.java
PrintWriter : 스크립트를 적용 또는 html 태그를 적용 할 수 있음
request : 요청(프론트가 주로 사용)
response : 출력하는 역할(백엔드가 주로 사용) => 해당 인자값이 있어야 내부 사용 가능
doGet : 파라미터값 형태, method=get, 데이터를 넘길 때 사용하는 영역
doPost : method=post 데이터를 처리, 데이터가 넘어올 때 사용하는 영역
HttpServlet : java파일을 외부(http)로 통신 할 수 있게 해주는 class
pw.close(); //필수
package 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;
//HttpServlet : java파일을 외부(http)로 통신 할 수 있게 해주는 class
public class site extends HttpServlet {
//걍 페이지 고유 번호/지우지 x
private static final long serialVersionUID = 1L;
//request : 요청(프론트가 주로 사용) , response : 출력하는 역할(백엔드가 주로 사용) => 해당 인자값이 있어야 내부 사용 가능
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
//만들때마다 사용할 부분~ interface나 abstract로 만들어서 사용
response.setContentType("text/html");
response.setCharacterEncoding("utf-8");
request.setCharacterEncoding("utf-8");
//PrintWriter : 스크립트를 적용 또는 html 태그를 적용 할 수 있음
PrintWriter pw = response.getWriter();
pw.write("<script>"
+ "alert('해당 웹페이지를 확인했습니다~');"
+ "console.log('test 콘솔');"
+ "</script>");
pw.close(); //필수
}
// protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
//
// }
}
/src/main/java : 컴파일용 (건들지 x)
'CLASS > SERVLET' 카테고리의 다른 글
#2-4 / double form (0) | 2024.05.29 |
---|---|
#2-3 / html 태그별 데이터 전송 (0) | 2024.05.29 |
#2-2 / 검색에 따른 get 전송방식 (0) | 2024.05.29 |
#2-1 / checkbox 및 라디오 핸들링 (0) | 2024.05.29 |
#1-2 / Front form태그 + servlet (0) | 2024.05.28 |