프레임웍(FrameWork)
- 특정 어플리케이션 개발을 위해 표준화된 설계 모델과 API를 통칭
- 사용자요구사항을 보다 신속하게 반영하고 기존 시스템을 효율적으로 유지 보수 하기 위한 노력의 결과물
Servlet
- 자바 기반의 웹 프로그래밍 기술로 자바 언어의 모든 기능을 사용할 수 있으며 Thread 기반으로 처리되어 진다.
- 프로그램 내에서 화면 코딩을 제어해야 하는 문제로 유지보수에 많은 문제점이 발견되어 이 문제점을 개선한 것이 JSP이다.
JSP
- 서블릿 기반의 서버 스크립트 언어
- 서블릿 장점을 수용하면서 단점을 보완시킨 언어
- JAVA EE(Enterprise Edition)의 프리젠테이션 레이어 핵심 기술
JSP소스와 servlet 복사 위치
JSP소스 파일은 톰캣안에 넣어놓아야한다.
C:\Program Files\Apache Software Foundation\Tomcat 8.0\webapps 이 폴더안에 새로운 폴더를 생성해주고 WEB-INI폴더와 classes폴더를 만들어주고 WEB-INI폴더안에 servlet-api 넣어준다.
servlet을 사용하려면 톰캣안에있는 C:\Program Files\Apache Software Foundation\Tomcat 8.0\lib\servlet-api를 C:\Program Files\Java\jre8\lib\ext 안에 넣어줘야한다.
C:\Program Files\Java\jdk1.8.0_05\jre\lib\ext 여기에도 servlet-api 넣어준다.
JSP파일을 톰캣안이 아닌 다른곳에 놓으려면
C:\Program Files\Apache Software Foundation\Tomcat 8.0\conf에서 server에 <Context>를 추가 해줘야 한다.
urlmapping - 웹상에서 불려질 고유한 주소를 주는 것. (닉네임)
<servlet>
<servlet-name>First</servlet-name>
<servlet-class>FirstServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>First</servlet-name>
<url-pattern>/bit</url-pattern>
</servlet-mapping>
get방식
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 | /* Servlet 생성 1. GeneralServlet 상속 2. HttpServlet 상속 - 1. 직접호출 --> 서블릿 등록 2. html을 통해 호출하는 방법 */ import javax.servlet.http.*; import java.io.*; public class FirstServlet extends HttpServlet { //http://127.0.0.1:9090/JSP/bit?id=aaa&pw=bbb 서블릿 주소에 id와 pw 파라미터를 넘겨준다. //1. get방식으로 request를 받아 들이는 서블릿 protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws IOException { // 1. HttpServletRequest // --> 클라이언트로부터 전달받은 요청에 대한 정보들 //--> 파라미터 정보, 보안속성, 접속자 정보 // 2. HttpServletResponse // -->클라이언트쪽으로 되돌려주는 정보, 응답정보 resp.setCharacterEncoding("euc-kr"); PrintWriter out = resp.getWriter(); out.println(" <html><body> "); out.println("<h2>서블릿테스트 </h2>"); out.println(" </body></html> "); } } |
get방식으로 파라미터 받기
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 | /* Servlet 생성 1. GeneralServlet 상속 2. HttpServlet 상속 - 1. 직접호출 --> 서블릿 등록 2. html을 통해 호출하는 방법 */ import javax.servlet.http.*; import java.io.*; public class FirstServlet extends HttpServlet { //1. get방식으로 파라미터를 받는다. //http://127.0.0.1:9090/JSP/bit?id=aaa&pw=bbb 서블릿 주소에 id와 pw 파라미터를 넘겨준다. //1. get방식으로 request를 받아 들이는 서블릿 protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws IOException { // 1. HttpServletRequest // --> 클라이언트로부터 전달받은 요청에 대한 정보들 //--> 파라미터 정보, 보안속성, 접속자 정보 // 2. HttpServletResponse // -->클라이언트쪽으로 되돌려주는 정보, 응답정보 String id = req.getParameter("id"); String pw = req.getParameter("pw"); resp.setCharacterEncoding("euc-kr"); PrintWriter out = resp.getWriter(); out.println(" <html><body> "); out.println("<h2> "+id+" : "+pw+ "</h2>"); out.println(" </body></html> "); } } |
HTML로 파라미터 넘기기
get방식
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | <!doctype html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="Generator" content="EditPlus®"> <meta name="Author" content=""> <meta name="Keywords" content=""> <meta name="Description" content=""> <title>Document</title> </head> <body> <form action="./bit"> <!--기본값으로 get이다. ./는 나의 위치--> <input type="text" name = "uid"/> <input type="text" name="upw"/> <input type="submit" name = "OK" value="OK!"> </form> </body> </html> |
post방식
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | <!doctype html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="Generator" content="EditPlus®"> <meta name="Author" content=""> <meta name="Keywords" content=""> <meta name="Description" content=""> <title>Document</title> </head> <body> <form method="post" action="./bit"> <!--post방식 ./는 나의 위치--> <input type="text" name = "data"/> <!-- 변수를 바꿔줌 --> <input type="text" name="data"/> <input type="submit" name = "OK" value="OK!"> </form> </body> </html> |
URL에 id값과 pw값이 써지지않는다.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 | /* Servlet 생성 1. GeneralServlet 상속 2. HttpServlet 상속 - 1. 직접호출 --> 서블릿 등록 2. html을 통해 호출하는 방법 */ import javax.servlet.http.*; import java.io.*; public class FirstServlet extends HttpServlet { //1. get방식으로 파라미터를 받는다. //http://127.0.0.1:9090/JSP/bit?id=aaa&pw=bbb 서블릿 주소에 id와 pw 파라미터를 넘겨준다. //1. get방식으로 request를 받아 들이는 서블릿 protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws IOException { // 1. HttpServletRequest // --> 클라이언트로부터 전달받은 요청에 대한 정보들 //--> 파라미터 정보, 보안속성, 접속자 정보 // 2. HttpServletResponse // -->클라이언트쪽으로 되돌려주는 정보, 응답정보 String id = req.getParameter("uid"); String pw = req.getParameter("upw"); resp.setCharacterEncoding("euc-kr"); PrintWriter out = resp.getWriter(); out.println(" <html><body> "); out.println("<h2> "+id+" : "+pw+ "</h2>"); out.println(" </body></html> "); } public void doPost(HttpServletRequest req, HttpServletResponse resp) throws IOException{ String[] datas = req.getParameterValues("data"); PrintWriter out = resp.getWriter(); out.println(" <html><body> "); out.println("<h2> "+datas[0]+" : "+datas[1]+ "</h2>"); out.println(" </body></html> "); } } |
'(Before)BitSchool' 카테고리의 다른 글
2014/05/30 JSP - session,cookie, javaBean (0) | 2014.05.30 |
---|---|
2014/05/29 Servlet, JSP (0) | 2014.05.29 |
2014/05/27 JSP (0) | 2014.05.27 |
2014/05/26 javanetwork - 직렬화, UDP (0) | 2014.05.26 |
2014/05/23 java network - 쓰레드, Thread (0) | 2014.05.23 |