728x90
반응형
회원 정보 관리 프로그램
요구사항
1) 사용자 인터페이스
2) 설명 : 메뉴 기반의 텍스트 사용자 인터페이스 제공
3) 사례 : "1. 성명 2. 전화번호 3. 주소
4) 핵심 : 사용자가 쉽게 각 기능을 선택
예외 처리
1) 설명 : 파일 입출력 및 잘못된 입력에 대한 예외 처리
2) 사례 : 파일이 없을 경우, 잘못된 수량 입력
3) 핵심 : 안정적인 프로그램 동작 보장
telephone.html
0.00MB
telephone_number.java
0.00MB
telephone.html
<!DOCTYPE html>
<html lang="ko">
<head>
<meta charset="UTF-8">
<title>회원정보관리</title>
<style>
#container {
border: 3px solid skyblue;
width: 500px;
height: 250px;
margin: 0 auto;
font-weight: bolder;
color: skyblue;
}
#button {
margin-left: 400px;
margin-top: -200px;
width: 60px;
height: 30px;
background-color: skyblue;
border: 1px solid skyblue;
color: white;
}
h1{
text-align: center;
}
#result {
display: none;
text-align: center;
border: 3px solid skyblue;
width: 500px;
height: 250px;
margin: 0 auto;
font-weight: bolder;
color: skyblue;
}
.contain {
margin-left: 100px;
width: 200px;
}
.contain > label {
display: block;
}
</style>
<script src="https://code.jquery.com/jquery-3.6.0.min.js"></script>
<script>
$(document).ready(function () {
$("#button").click(function(){
$("#result").show();
})
$("form").submit(function (event) {
event.preventDefault(); // Prevent default form submission
var name = $("#name").val().trim(); // Trim whitespace
var phone = $("#phone").val().trim(); // Trim whitespace
var address = $("#address").val();
// Input Validation (입력 유효성 검사)
var isValid = true;
if (name === "" || phone === "" || address === "") {
$("#result").html("Please fill in all fields.");
isValid = false; // Invalid input
}
if (!isValid) {
return; // Prevent AJAX request if input is invalid
}
$.ajax({
url: "/JSP/TEXT", // Make sure this matches your servlet mapping
method: "POST",
data: { name: name, phone: phone, address: address },
beforeSend: function () {
$("#result").html("Processing...");
},
success: function (data) {
$("#result").html(data);
},
error: function (jqXHR, textStatus, errorThrown) {
console.error("Error:", textStatus, errorThrown);
$("#result").html(
"An error occurred during processing. Please try again."
);
},
});
});
});
</script>
</head>
<body>
<div id="container">
<h1>회원정보 관리</h1>
<form>
<div class="contain">
<label for="name">이름 : </label>
<input type="text" id="name" name="name" /><br />
<label for="phone">전화번호 : </label>
<input type="text" id="phone" name="phone" /><br />
<label for="address">주소 : </label>
<input type="text" id="address" name="address" /><br />
</div>
<input type="submit" id="button" value="실행" />
</form>
</div>
<div id="result"></div>
</body>
</html>
telephone_number.java
package common;
import jakarta.servlet.ServletException;
import jakarta.servlet.annotation.WebServlet;
import jakarta.servlet.http.HttpServlet;
import jakarta.servlet.http.HttpServletRequest;
import jakarta.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.io.PrintWriter;
/**
* Servlet implementation class TelephoneNumber
*/
@WebServlet("/TEXT")
public class telephone_number extends HttpServlet {
private static final long serialVersionUID = 1L;
/**
* @see HttpServlet#HttpServlet()
*/
public telephone_number() {
super();
}
/**
* @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
*/
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// Handling GET requests
response.setContentType("text/html");
try (PrintWriter out = response.getWriter()) {
out.println("<html><body>");
out.println("<h1>GET method is not supported for this servlet.</h1>");
out.println("</body></html>");
}
}
/**
* @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
*/
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// Retrieve form data
String name = request.getParameter("name");
String phoneNumber = request.getParameter("phone");
String address = request.getParameter("address");
response.setContentType("text/html; charset=utf-8");
try (PrintWriter out = response.getWriter()) {
out.println("<html><body><h2>입력한 정보</h2>");
out.println("이름: " + (name != null ? name : "N/A") + "<br>");
out.println("전화번호: " + (phoneNumber != null ? phoneNumber : "N/A") + "<br>");
out.println("주소: " + (address != null ? address : "N/A") + "<br>");
out.println("</body></html>");
} catch (Exception e) {
response.setStatus(HttpServletResponse.SC_INTERNAL_SERVER_ERROR);
response.getWriter().write("An error occurred: " + e.getMessage());
}
}
}
728x90
반응형
'JSP' 카테고리의 다른 글
JSP(상품재고조회 프로그램)_2024-08-30 (2) | 2024.09.02 |
---|---|
JSP(숫자계산 프로그램)_2024-08-29 (0) | 2024.08.30 |
JSP(Oracle_DB업로드)_2024 (0) | 2024.08.28 |
JSP(화면설계 사용자 인터페이스 구현 UI 디자인)_2024-08-27 (0) | 2024.08.27 |
JSP(Oracle_table)_2024-08-27 (0) | 2024.08.27 |