console에서 java메소드 실행시키기 예시

(1) html, web.xml, java 총 3개의 파일이 필요하다.

(2) java servlet에서 @WebServlet사용시 html, java 2개의 파일이 필요하다.(업그레이드가 되면서 web.xml 파일이 생략가능)

 

 

(1)방법을 예시로 들어보겠다.

Html 예시

<h2>Servlet 기본</h2>

<form action="location" method="get">
	<input type="submit" value="Get방식">
</form>

<form action="location" method="post">
	<input type="submit" value="Post방식">
</form>	

action

값으로 적힌 url, 객체 등.. 이동해준다.

method

form태그 데이터 전송시의 통신방식, defualt값은 get방식이다.

submit

데이터를 전송하기 위한 전송버튼


web.xml예시

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee
                      http://xmlns.jcp.org/xml/ns/javaee/web-app_4_0.xsd"
  version="4.0">

<servlet>
	<servlet-name>hello</servlet-name>
	<servlet-class>sample1.Hello</servlet-class>
</servlet>
<servlet-mapping>
	<servlet-name>hello</servlet-name>
	<url-pattern>/location</url-pattern>
</servlet-mapping>
</web-app>

 

위 예시는 가장 기초적인 문법 예시이다.

servlet-name

servlet, servlet-mapping안의 servlet-name 문자열이 같아야 한다.

servlet-class

java파일의 Package명.class명을 의미한다.

url-pattern

연결할 url을 작성한다.

 


Java 예시

package sample1;

import java.io.IOException;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

public class Hello extends HttpServlet {

	@Override
	protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
		System.out.println("Hello doGet()");
	}

	@Override
	protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
		System.out.println("Hello doPost()");
	}
}

 

Java Servlet의 조건사항

상속 HttpServlet(== 부모class)
class의 접근제한자 public
import javax.servlet.http.HttpServlet 
전송방식에 따른 메소드 선언 doGet(), doPost()
메소드의 매개변수 HttpServletRequest(요청을 위한 객체)
HttpServletResponse(응답을 위한 객체)

doGet()

html파일 form tag의 method="get"이였을 때 실행된다.

doPost()

html파일 form tag의 method="post"이였을 때 실행된다.

 

 

실행화면

Get방식 버튼을 눌렀을 때 페이지가 넘어가면서 이클립스 콘솔창에 Hello doGet() 출력이 되고,

Post방식 버튼을 눌렀을 때 페이지가 넘어가면서 이클립스 콘솔창에 Hello doPost()이 출력이 된다.

 

 

(2)방법을 예시로 들어보겠다.

Html 예시

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>

<h2>Servlet 기본</h2>

<form action="location2" method="get">
	<input type="submit" value="Get방식">
</form>

<form action="location2" method="post">
	<input type="submit" value="Post방식">
</form>	

</body>
</html>

Java 예시

package sample2;

import java.io.IOException;

import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

@WebServlet("/location2")
public class Hello extends HttpServlet {

	@Override
	protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
		System.out.println("Hello doGet()");
	}

	@Override
	protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
		System.out.println("Hello doPost()");
	}
}

class선언 전 @WebServlet("/url") 작성 시 xeb.xml파일 없이도 Servlet이 실행된다.

실행화면은 위와 동일하다.

+ Recent posts