1단계 확인 : URL 맵핑 확인 및 기본 개념

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
	<h1>여기 주소는 http://localhost:8080/demo2/index.jsp</h1>
	  xxx.java -> xxx.class -> xxx.obj --> response 
	  xxx_jsp.java -> 
	  index_jap.java -> xxx_jsp.class -> xxx_jsp.obj --> response 
</body>
</html>

2단계

package com.tenco.controller;

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("/loginProc")
public class LoginProc extends HttpServlet {
	private static final long serialVersionUID = 1L;

	public LoginProc() {
		super();

	}

	protected void doGet(HttpServletRequest request, HttpServletResponse response)
			throws ServletException, IOException {
		response.getWriter().append("Served at: ").append(request.getContextPath());
	}

	// method : post (form 태그에서)
	// http://localhost:8080/demo2/loginProc
	protected void doPost(HttpServletRequest request, HttpServletResponse response)
			throws ServletException, IOException {
		// form --> 반드시 속성 name="email" -> value = "a@naver.com"
		request.setCharacterEncoding("UTF-8");
		String email = request.getParameter("email");
		String password = request.getParameter("password");
		String isRemember = request.getParameter("check");
		String hobby = request.getParameter("hobby");
		String[] likes = request.getParameterValues("like"); // 배열처리 (다중 선택)

		System.out.println("email : " + email);
		System.out.println("password : " + password);
		System.out.println("isRemember : " + isRemember);
		System.out.println("hobby : " + hobby);
		if (likes != null) {
			for (String like : likes) {
				System.out.println("like :  " + like);
			}
		}
	}
}
<%@ page language="java" contentType="text/html; charset=UTF-8"
	pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
<!-- Latest compiled and minified CSS -->
<link rel="stylesheet"
	href="https://cdn.jsdelivr.net/npm/bootstrap@4.6.2/dist/css/bootstrap.min.css">
<!-- jQuery library -->
<script
	src="https://cdn.jsdelivr.net/npm/jquery@3.6.3/dist/jquery.slim.min.js"></script>
<!-- Popper JS -->
<script
	src="https://cdn.jsdelivr.net/npm/popper.js@1.16.1/dist/umd/popper.min.js"></script>
<!-- Latest compiled JavaScript -->
<script
	src="https://cdn.jsdelivr.net/npm/bootstrap@4.6.2/dist/js/bootstrap.bundle.min.js"></script>
<style type="text/css">
body {
	margin: 20px;
	height: 100vh;
	padding: 10px;
	display: flex;
	justify-content: center;
	align-content: center;
}

form {
	border: 1px solid black;
	width: 500px;
	height: 400px;
	padding: 15px;
	border-radius: 10px;
}
</style>
</head>
<body>
	<!-- 주소는 절대경로와 상대경로 설정할 수 있다. 
		/ <-- 절대 경로로 시작 
		 <- 상대 경로로 시작 
	  -->
	<form action="/demo2/loginProc" method="post">
		<div class="form-group">
			<label for="email">Email Address : </label> <input type="email"
				class="form-control" placeholder="Enter email" id="email"
				name="email" value="a@nate.com">
		</div>
		<div class="form-group">
			<label for="password">Password : </label> <input type="password"
				class="form-control" placeholder="Enter password" id="password"
				name="password" value="asd123">
		</div>
		<div class="form-group">
			<label for="isRemember" class=""> Remember me </label> <input
				type="checkbox" id="isRemember" name="check">
		</div>

		<div class="form-group">
			<label for="hobby">취미</label> <select name="hobby">
				<option value="코딩">코딩</option>
				<option value="공부">공부</option>
				<option value="프로젝트" selected="selected">프로젝트</option>
				<option value="운동">운동</option>
				<option value="술마시기">술마시기</option>
			</select>
		</div>
		
		<div>
			<p>좋아하는 동물</p>
			<input type="checkbox" name="like" value="cat" id="cat"> <label
				for="cat">고양이</label> <input type="checkbox" name="like" value="dog"
				id="dog"> <label for="dog">강아지</label> <input
				type="checkbox" name="like" value="lion" id="lion"> <label
				for="lion">사자</label>
		</div>
		<button type="submit" class="btn btn-success">Submit</button>
	</form>


</body>
</html>

 

'JSP' 카테고리의 다른 글

JSP 스크립트 2  (0) 2023.04.06
JSP 스크립트  (0) 2023.04.06
Servlet Life-Cycle  (0) 2023.03.27
Servlet mapping  (0) 2023.03.27
JSP 와 Servlet 개념  (0) 2023.03.27

+ Recent posts