본문 바로가기
CLASS/SERVLET

#1-1 / Servlet start,setting

by hingu 2024. 5. 28.

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