게으른 완벽주의자의 개발자 도전기
servlet 정리하기(한글깨짐 방지 소스, servlet 기초 실행(html에서 servlet으로 데이터 넘기기) 본문
servlet jsp
servlet 정리하기(한글깨짐 방지 소스, servlet 기초 실행(html에서 servlet으로 데이터 넘기기)
머리방울 2022. 7. 23. 13:53servlet이나 jsp는 한국 출신이 아니니까 한글을 넣으면 깨지기 마련이다. 그래서 바탕화면 메모페이지에
추가해서 복붙해서 쓰는거 추천이다.
<한글 깨짐 방지 코드>
<servlet> 나는 post를 사용할 것이기 때문에 post 밑에 넣어 두었다.
request.setCharacterEncoding("UTF-8");
response.setContentType("text/html;charset=UTF-8");
<jsp> 위치는 페이지 제일 상단에 매번 추가하는거 잊으면 안된다!
<% request.setCharacterEncoding("UTF-8");
response.setContentType("text/html;charset=UTF-8"); %>
<html에서 자료 입력한 후 servlet으로 데이터 넘기기>
<예시> 학생의 이름, 국어, 영어 점수를 입력받을 수 있게 화면을 구성하고,
정보를 입력 받은 후 전송이라는 버튼 클릭하면 Student라는 servlet으로 이동하는데
이때 입력받은 세 정보를 가지고 이동해야 한다.
입력받은 정보를 전달 받았다면 전달받은 학생의 이름, 영어점수, 수학점수, 총점을 인터넷상에 띄어보자.
1. 먼저 html 파일을 webapp에서 만든다
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
<form action="student" method="post">
(데이터를 전달할 것이기 때문에 method는 post / 디폴트 값이라 생각하기)
(form태그는 태그 안에 내용을 전달해주는 태그다.
form action = " " 에는 form태그의 자료를 받는 파일 이름을 작성)
이름 <input type="text" name="stuName"> <br>
국어점수 <input type="text" name="korScore"> <br>
영어점수 <input type="text" name="engScore"><br>
<input type="submit" value="전송">
(데이터를 전송할 것이기 때문에 button이 아니라 submit으로 변경시켜주기)
</form>
</body>
</html>
2. servlet으로 이동
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;
@WebServlet("/student") <-여기 이름과 form action의 이름이 같아야 한다!!
public class Student extends HttpServlet {
private static final long serialVersionUID = 1L;
public Student() {
super();
}
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
}
(우리는 form태그를 사용했기 때문에 doPost()를 사용한다!!)
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
(한글깨짐 방지 코드 넣어주기)
request.setCharacterEncoding("UTF-8");
response.setContentType("text/html;charset=UTF-8");
String name = request.getParameter("stuName");
System.out.println(name);
String korScore = request.getParameter("korScore");
System.out.println(korScore);
String engScore = request.getParameter("engScore");
System.out.println(engScore);
// 문자열을 정수로 변경해줘야 하기 때문
int kor = Integer.parseInt(korScore);
int eng = Integer.parseInt(engScore);
int totalScore= kor+eng;
System.out.println(totalScore);
PrintWriter out = response.getWriter();
out.write("Name : " +name);
out.write(" KorScore : " +korScore );
out.write(" EngScore : " +engScore);
out.write(" TotalScore : " + totalScore);
}
}
'servlet jsp' 카테고리의 다른 글
톰캣에서 taglibs 4가지 다운 받기 (0) | 2022.07.24 |
---|---|
jsp 정리하기2(jsp-> jsp-> jsp 로 데이터 받기) (0) | 2022.07.23 |
jsp 정리하기1(jsp-> jsp 뒤로가기 버튼으로 첫페이지 이동)location, history.back 활용 (0) | 2022.07.23 |
jsp 기초 정리하기(jsp-> jsp 데이터전달, a태그, form태그) (0) | 2022.07.23 |
servlet 개념정리하기 (0) | 2022.07.23 |