๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
IT์ž๊ฒฉ์ฆ ๊ณต๋ถ€/์ •๋ณด์ฒ˜๋ฆฌ์‚ฐ์—…๊ธฐ์‚ฌ ์‹ค๊ธฐ

[์ •๋ณด์ฒ˜๋ฆฌ์‚ฐ์—…๊ธฐ์‚ฌ ๊ณผ์ •ํ‰๊ฐ€ํ˜• ์‹ค๊ธฐ] ์ง€์—ญ๊ตฌ์˜์›ํˆฌํ‘œ - Java ์ƒ์„ฑ

by yunamom 2022. 4. 27.
728x90
300x250

๊ตฌํ˜„ ์ˆœ์„œ ( ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ๐Ÿ‘‰๐Ÿป ์„œ๋ฒ„ ๐Ÿ‘‰๐Ÿป ํ”„๋ก ํŠธ ๐Ÿ‘‰๐Ÿป ๋ฐฑ์—”๋“œ )

 

1) [์ •๋ณด์ฒ˜๋ฆฌ์‚ฐ์—…๊ธฐ์‚ฌ ๊ณผ์ •ํ‰๊ฐ€ํ˜•] ์‹ค๊ธฐ์‹œํ—˜ ๋ฌธ์ œ - ์ง€์—ญ๊ตฌ์˜์›ํˆฌํ‘œ

2) [์ •๋ณด์ฒ˜๋ฆฌ์‚ฐ์—…๊ธฐ์‚ฌ ๊ณผ์ •ํ‰๊ฐ€ํ˜•] ์‹ค๊ธฐ MVC ํŒจํ„ด ๊ตฌ์กฐ / ํ๋ฆ„

3) [์ •๋ณด์ฒ˜๋ฆฌ์‚ฐ์—…๊ธฐ์‚ฌ ๊ณผ์ •ํ‰๊ฐ€ํ˜•] ์ง€์—ญ๊ตฌ์˜์›ํˆฌํ‘œ - DB ์ƒ์„ฑํ•˜๊ธฐ
4) [์ •๋ณด์ฒ˜๋ฆฌ์‚ฐ์—…๊ธฐ์‚ฌ ๊ณผ์ •ํ‰๊ฐ€ํ˜•] ์ง€์—ญ๊ตฌ์˜์›ํˆฌํ‘œ - Java / Servlet ์ƒ์„ฑ
5) [์ •๋ณด์ฒ˜๋ฆฌ์‚ฐ์—…๊ธฐ์‚ฌ ๊ณผ์ •ํ‰๊ฐ€ํ˜•] ์ง€์—ญ๊ตฌ์˜์›ํˆฌํ‘œ - View ํ™”๋ฉด ๋งŒ๋“ค๊ธฐ
6) [์ •๋ณด์ฒ˜๋ฆฌ์‚ฐ์—…๊ธฐ์‚ฌ ๊ณผ์ •ํ‰๊ฐ€ํ˜•] ์ง€์—ญ๊ตฌ์˜์›ํˆฌํ‘œ - ๋ฐ์ดํ„ฐ ์ž…/์ถœ๋ ฅ

โœจ Step2. Java / Servlet ์ƒ์„ฑ 


ํ™”๋ฉด ์ „ํ™˜ ๋ฐ View ์™€ DB์˜ ์—ฐ๊ฒฐ์„ ๋„์™€์ค„ Java ํŒŒ์ผ์„ ๋งŒ๋“ค์–ด ์ค๋‹ˆ๋‹ค.

๊ทธ์ „์— Tomcat 9.0\lib ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ํด๋”๋กœ ์ด๋™ํ•ด์„œ servlet-api.jar ๋ฅผ WEB-INFํด๋”์˜ lib ํด๋”์•ˆ์— ๋„ฃ์–ด์ค๋‹ˆ๋‹ค.

servlet์„ ์‚ฌ์šฉํ•˜๊ธฐ ์œ„ํ•ด ๊ผญ ํ•„์š”ํ•œ ์š”์†Œ
jarํŒŒ์ผ์„ ๋„ฃ์–ด์ค€๋’ค, web.xml ์„ค์ •์„ ํ•ด์ค๋‹ˆ๋‹ค.

โ—พ๏ธweb.xml 

WEB-INF/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/javaeehttp://xmlns.jcp.org/xml/ns/javaee/web-app_4_0.xsd"
id="WebApp_ID" version="4.0">

<display-name>HRD1</display-name>
<servlet>
	<servlet-name>test</servlet-name>
	<servlet-class>VoteDB.VoteController</servlet-class>
</servlet>

<servlet-mapping>
	<servlet-name>test</servlet-name>
	<url-pattern>/</url-pattern>
</servlet-mapping>

</web-app>

<web-app> ์•ˆ์— <servlet></servlet> , <servlet-mapping></servlet-mapping> ์„ ์ž…๋ ฅํ•ด์ฃผ์„ธ์š”.

๊ตฌ๋ถ„ ์„ค๋ช…
<servlet-name> <servlet>๊ณผ <servlet-mapping>์˜ ์—ฐ๊ฒฐ๊ณ ๋ฆฌ
<servlet-class> ํŒจํ‚ค์ง€๋ช….ํด๋ž˜์Šค๋ช… ์œผ๋กœ ๊ตฌ์„ฑ๋˜๋ฉฐ, ํ•ด๋‹น ์œ„์น˜์˜ ์ž๋ฐ” ํŒŒ์ผ์„ ์•Œ๋ ค์ค€๋‹ค.
<url-pattern> jsp์—์„œ action์„ ํ˜ธ์ถœํ• ๋•Œ ์‚ฌ์šฉ
(*.do ๋ฅผ ํ˜ธ์ถœํ•˜๋ฉด VoteDB ํŒจํ‚ค์ง€์˜ VoteController์„ ๋ถ€๋ฅด๊ฒŒ๋œ๋‹ค.)

โ—พ๏ธํŒจํ‚ค์ง€ ๋ฐ class ์ƒ์„ฑ

VoteDB ํŒจํ‚ค์ง€ ์•ˆ์— Servlet ํŒŒ์ผ์„ ์ƒ์„ฑํ•ฉ๋‹ˆ๋‹ค.

jsp์˜ ๊ธฐ์ดˆ request ๋ฐฉ์‹

Servlet์„ ์ƒ์„ฑํ•˜๋ฉด ๊ธฐ๋ณธ์ ์œผ๋กœ doGet(get ๋ฐฉ์‹ ํ˜ธ์ถœ)๊ณผ doPost(post ๋ฐฉ์‹ ํ˜ธ์ถœ) ๊ฐ€ ์ฃผ์–ด์ง‘๋‹ˆ๋‹ค.

๋งจ ์•„๋ž˜์— ์ถ”๊ฐ€์ ์œผ๋กœ requestPro๋ฅผ ์ƒ์„ฑํ•ด์„œ get, post์˜ ๊ตฌ๋ถ„์—†์ด ์‹คํ–‰๋˜๋„๋ก ์ž‘์„ฑํ•ด์ค๋‹ˆ๋‹ค.

package VoteDB;

import java.io.IOException;

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


public class VoteController extends HttpServlet {
   
	protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		
		request.setCharacterEncoding("UTF-8");
		requestPro(request, response);
	}

	
	protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		request.setCharacterEncoding("UTF-8");
		requestPro(request, response);
	}
	
	protected void requestPro(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		/* URL check */
		String uri = request.getRequestURI();
		String context = request.getContextPath();
		String command = uri.substring(context.length());
		String site = null;
		
		System.out.println("command : "+command);
		
		VoteDAO vote = new VoteDAO();
		
		switch(command) {
		case "/main.do" : 
			
			site = "index.jsp";
			break;
		case "/memberList.do" : 
			
			site = "memberList.jsp";
			break;
		case "/voteMember.do" : 
			
			site = "voteMember.jsp";
			break;
		case "/voteList.do" : 
			
			site = "voteList.jsp";
			break;
		case "/voteResult.do" : 
			
			site = "voteResult.jsp";
			break;
		default : break;
		}
		/* ๊ฒฐ๊ณผ */
		RequestDispatcher dispatcher = request.getRequestDispatcher(site);
		dispatcher.forward(request, response);
	}
}

โ—พ๏ธDTO ์ƒ์„ฑ

VoteBean ํŒจํ‚ค์ง€ ์•ˆ์— Vote, Result, Member ํด๋ž˜์Šค๋ฅผ ์ƒ์„ฑ

package VoteBean;

public class Vote {

	String v_name;
	String v_jumin;
	String v_age;
	String v_gender;
	String m_no;
	String v_time;
	String v_confirm;

	public String getV_name() {
		return v_name;
	}

	public void setV_name(String v_name) {
		this.v_name = v_name;
	}

	public String getV_jumin() {
		return v_jumin;
	}

	public void setV_jumin(String v_jumin) {
		this.v_jumin = v_jumin;
	}

	public String getV_age() {
		return v_age;
	}

	public void setV_age(String v_age) {
		this.v_age = v_age;
	}

	public String getV_gender() {
		return v_gender;
	}

	public void setV_gender(String v_gender) {
		this.v_gender = v_gender;
	}

	public String getM_no() {
		return m_no;
	}

	public void setM_no(String m_no) {
		this.m_no = m_no;
	}

	public String getV_time() {
		return v_time;
	}

	public void setV_time(String v_time) {
		this.v_time = v_time;
	}

	public String getV_confirm() {
		return v_confirm;
	}

	public void setV_confirm(String v_confirm) {
		this.v_confirm = v_confirm;
	}
}
package VoteBean;

public class Result {

	String m_no;
	String m_name;
	String v_total;

	public String getM_no() {
		return m_no;
	}

	public void setM_no(String m_no) {
		this.m_no = m_no;
	}

	public String getM_name() {
		return m_name;
	}

	public void setM_name(String m_name) {
		this.m_name = m_name;
	}

	public String getV_total() {
		return v_total;
	}

	public void setV_total(String v_total) {
		this.v_total = v_total;
	}
}
package VoteBean;

public class Member {

	String m_no;
	String m_name;
	String p_name;
	String p_school;
	String m_jumin;
	String m_city;
	String p_tel;

	public String getM_no() {
		return m_no;
	}

	public void setM_no(String m_no) {
		this.m_no = m_no;
	}

	public String getM_name() {
		return m_name;
	}

	public void setM_name(String m_name) {
		this.m_name = m_name;
	}

	public String getP_name() {
		return p_name;
	}

	public void setP_name(String p_name) {
		this.p_name = p_name;
	}

	public String getP_school() {
		return p_school;
	}

	public void setP_school(String p_school) {
		this.p_school = p_school;
	}

	public String getM_jumin() {
		return m_jumin;
	}

	public void setM_jumin(String m_jumin) {
		this.m_jumin = m_jumin;
	}

	public String getM_city() {
		return m_city;
	}

	public void setM_city(String m_city) {
		this.m_city = m_city;
	}

	public String getP_tel() {
		return p_tel;
	}

	public void setP_tel(String p_tel) {
		this.p_tel = p_tel;
	}
}

โ—พ๏ธDAO ์ƒ์„ฑ

์ดํด๋ฆฝ์Šค์—์„œ java์™€ oracle์„ ์—ฐ๊ฒฐํ•˜๊ธฐ ์œ„ํ•ด

C:\oraclexe\app\oracle\product\11.2.0\server\jdbc\lib

์œ„์˜ ๊ฒฝ๋กœ์—์„œ jar ํŒŒ์ผ์„ lib ํด๋” ์•ˆ์— ๋„ฃ์–ด์ค๋‹ˆ๋‹ค. 

๋‘๊ฐœ์˜ jarํŒŒ์ผ

๊ทธ ํ›„์— ๋ฌธ์ œ์—์„œ ์ œ๊ณต๋˜๋Š” Connection์„ VoteDAO ์— ๊ทธ๋Œ€๋กœ ์ž‘์„ฑํ•ด์ค๋‹ˆ๋‹ค.

Connection con = "oracle ์—ฐ๊ฒฐ ๊ฒฝ๋กœ","์ ‘์† id","๋น„๋ฐ€๋ฒˆํ˜ธ" ์ž…๋‹ˆ๋‹ค.

์ƒ์„ฑ์ž๋ฅผ ํ†ตํ•ด DAO ํ˜ธ์ถœ์‹œ ์ž๋™์œผ๋กœ Connection์ด ์ฒ˜๋ฆฌ๋˜๋„๋ก ์„ธํŒ…์„ ํ•ฉ๋‹ˆ๋‹ค.

package VoteDB;

import java.sql.*;

public class VoteDAO {

	Connection conn = null;
	PreparedStatement ps = null;
	ResultSet rs = null;	 
	
	public static Connection getConnection() throws Exception {
		Class.forName("oracle.jdbc.OracleDriver");
		Connection con = DriverManager.getConnection
				("jdbc:oracle:thin:@//localhost:1521/xe","system","1234");
		return con;
	}
    
}

 

๋‹ค์Œ ํฌ์ŠคํŒ…์—์„œ๋Š” View ํ™”๋ฉด์„ ๊ตฌํ˜„ํ•˜๋„๋ก ํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค ๐Ÿ˜Š

728x90
300x250

์ฝ”๋“œ