연습2
HTML파일
input_Test2.html
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
<form action="result.do" method="post">
name:<input type="text" name="yName"><br>
gender:<input type="text" name="yGender">
<input type="submit" value="전송">
<input type="reset" value="취소">
</form>
</body>
</html>
웹xml파일
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/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd" id="WebApp_ID" version="3.1">
<servlet>
<servlet-name>goprocess</servlet-name>
<servlet-class>ProcessOk</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>goprocess</servlet-name>
<url-pattern>/result.do</url-pattern>
</servlet-mapping>
</web-app>
Servelet파일
ProcessOk.java
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;
/**
* Servlet implementation class ProcessOk
*/
@WebServlet("/ProcessOk")
public class ProcessOk extends HttpServlet {
private static final long serialVersionUID = 1L;
/**
* @see HttpServlet#HttpServlet()
*/
public ProcessOk() {
super();
// TODO Auto-generated constructor stub
}
/**
* @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
*/
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// TODO Auto-generated method stub
response.getWriter().append("Served at: ").append(request.getContextPath());
}
/**
* @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
*/
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
//어제는 get방식 오늘은 post방식 연습 , doPost
//전부 String으로 받아들인다.
//request로 받는다.
String name = request.getParameter("yName");
//html에서 name값이 Parameter이다., html파일에서 yName 인풋텍스트의 벨류값이 String name에 저장된다.
String gender = request.getParameter("yGender");
//보내는 것은 전부 response
PrintWriter pw = response.getWriter();
pw.println("<html>");
pw.println("<head>");
pw.println("</head>");
pw.println("<body>");
pw.println("your name: "+name+"<br>");
pw.println("your gender: "+gender+"<br>");
pw.println("</body>");
pw.println("</html>");
pw.close();
}
}
************************************************************************************
연습3
<html파일 input_Test.html>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
<script type="text/javascript">
function test() {
var ag = document.getElementsByTagName("input");
var t = document.getElementsByClassName("t1");
var id1 = document.getElementById("id1");
var n = document.getElementsByTagName("n1");
}
</script>
<style type="text/css">
input{
}
.t1{
}
#id1{
}
</style>
</head>
<body>
<form action="post.practice" method="post">
ID:<input type="text" class="t1" id="id1" name="n1"><br>
PW:<input type="password" class="t1" id="id2" name="n2"><br>
age:<input type="number" class="t1" id="id3" name="n3"><br>
soccer<input type="checkbox" class="t1" id="id4" name="n4" value="soccer" checked="checked">
baseball<input type="checkbox" class="t1" id="id5" name="n4">
basketball<input type="checkbox" class="t1" id="id6" name="n4">
volleyball<input type="checkbox" class="t1" id="id7" name="n4"><br>
HTML<input type="radio" class="t1" id="id8" name="n5" value="HTML">
JS<input type="radio" class="t1" id="id9" name="n5" value="JS">
JAVA<input type="radio" class="t1" id="id10" name="n5" value="JAVA">
JSP<input type="radio" class="t1" id="id11" name="n5" value="JSP"><br>
<select class="t1" id="id12" name="n6">
<option value="SKT">SKT</option>
<option>LGT</option>
<option>KT</option>
</select><br>
memo<textarea rows="20" cols="20" class="t1" id="id13" name="n7">
</textarea><br>
<input type="submit" class="t1" id="id14" name="n8">
<input type="reset" class="t1" id="id15" name="n9">
</form>
</body>
</html>
<Servlet파일 GetTest1.java>
import java.awt.Checkbox;
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;
/**
* Servlet implementation class GetTest1
*/
@WebServlet("/GetTest1")
public class GetTest1 extends HttpServlet {
private static final long serialVersionUID = 1L;
/**
* @see HttpServlet#HttpServlet()
*/
public GetTest1() {
super();
// TODO Auto-generated constructor stub
}
/**
* @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
*/
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// TODO Auto-generated method stub
response.getWriter().append("Served at: ").append(request.getContextPath());
}
/**
* @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
*/
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
String id = request.getParameter("n1");
String pw = request.getParameter("n2");
int age = Integer.parseInt(request.getParameter("n3"));
String lang = request.getParameter("n5");
String memo = request.getParameter("n7");
PrintWriter pwt = response.getWriter();
pwt.println("<html>");
pwt.println("<head>");
pwt.println("</head>");
pwt.println("<body>");
pwt.println("your id : "+id+"<br>");
pwt.println("your password : "+pw+"<br>");
pwt.println("your age : "+age+"<br>");
pwt.println("you can use this programming language :"+lang+"<br>");
pwt.println("you memorized this : "+memo+"<br>");
//pwt.println("your language : "+lang+"<br>");
//pwt.println("your memo : "+memo+"<br>");
pwt.println("</body>");
pwt.println("</html>");
}
}
************************************************************************************
checkbox 선택하기
교재p.22 requst의 주요 메소드 getParameterValue 사용
<html파일 input_Test2.html>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
<form action="result.do" method="post">
EPL:<input type="checkbox" name="soccer" value="EPL"><br>
LaLiga:<input type="checkbox" name="soccer" value="LaLiga">
League1:<input type="checkbox" name="soccer" value="League1">
SerieA:<input type="checkbox" name="soccer" value="SerieA">
K-League:<input type="checkbox" name="soccer" value="K-League">
J-League:<input type="checkbox" name="soccer" value="J-League">
<input type="submit" value="전송">
<input type="reset" value="취소">
</form>
</body>
</html>
<servlet파일 ProcessOK.java>
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;
/**
* Servlet implementation class ProcessOk
*/
@WebServlet("/ProcessOk")
public class ProcessOk extends HttpServlet {
private static final long serialVersionUID = 1L;
/**
* @see HttpServlet#HttpServlet()
*/
public ProcessOk() {
super();
// TODO Auto-generated constructor stub
}
/**
* @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
*/
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// TODO Auto-generated method stub
response.getWriter().append("Served at: ").append(request.getContextPath());
}
/**
* @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
*/
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
//어제는 get방식 오늘은 post방식 연습 , doPost
//전부 String으로 받아들인다.
//request로 받는다.
String [] league = request.getParameterValues("soccer");
//checkbox 받아오는 법
//보내는 것은 전부 response
PrintWriter pw = response.getWriter();
pw.println("<html>");
pw.println("<head>");
pw.println("</head>");
pw.println("<body>");
if(league==null){
pw.println("you didn't select any soccer league");
}else{
for(int i=0;i<league.length;i++){
pw.println("you selected this soccer league: "+league[i]+"<br>");
}
}
pw.println("</body>");
pw.println("</html>");
pw.close();
}
}
************************************************************************************
servlet 은 자바 코드를 html로 보내기 위해 만들어졌다.
servlet의 불편함을 줄이기 위해 고안된 것 : JSP !!
HTML 코드 안에 JSP를 넣자.
MVC 패턴
Servlet은 C : controller 역할
JSV는 V : view 역할
************************************************************************************
남자를 선택하면 카라멜마키아토
여자를 선택하면 에스프레소
Java 클래스와 Servlet 연결
<html파일 : select_coffee.html>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
<form action="which.coffee" method="post">
man<input type="radio" name="gender" value="man">
woman<input type="radio" name="gender" value="woman">
<input type="submit">
</form>
</body>
</html>
<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/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd" id="WebApp_ID" version="3.1">
<servlet>
<servlet-name>getcoffee</servlet-name>
<servlet-class>CoffeeServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>getcoffee</servlet-name>
<url-pattern>/which.coffee</url-pattern>
</servlet-mapping>
</web-app>
<자바클래스파일 Coffee.java>
public class Coffee {
//메소드 만드는 형식
//접근지정자 그외지정자(옵션) 리턴타입 메소드명(매개변수1,매개변수2,...){}
//생성자를 만드는 형식
//접근지정자 메소드명(매개변수1,매개변수2,...){} ,메소드 이름은 클래스 이름과 동일
public Coffee(){
//디폴트생성자=빈 생성자=기본 생성자
//클래스 내에 생성자는 무조건 1개 이상 존재해야 한다.
//클래스 내에 생성자가 하나라도 없으면 컴파일러가 빈생성자를 자동으로 하나 만들어줌
}
public String getCoffee(String gen){
//남자 : 카라멜마키아토
//여자 : 에스프레소
if(gen.equals("man")){
return "caramel macciato";
}else{
return "Espresso";
}
}
}
************************************************************************************
web.xml 파일 없을때
WEB_INF 우클릭 > 뉴> 아더> xml > web.xml 피니시
그리고 밑에 server 클릭
web.xml에서
<web-app version="3.1" xmlns="http://xmlns.jcp.org/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd">
************************************************************************************
나이에 맞는 연예인 추천 프로그램
<html파일 : who.html>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
<form action="matching.people" method="post">
man<input type="radio" name="gender" value="man">
woman<input type="radio" name="gender" value="woman">
age<input type="number" name="age">
<input type="submit" value="who">
</form>
</body>
</html>
<xml파일 : 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/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd" version="3.1">
<servlet>
<servlet-name>match</servlet-name>
<servlet-class>MatchingWith</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>match</servlet-name>
<url-pattern>/matching.people</url-pattern>
</servlet-mapping>
</web-app>
<servlet 파일: MatchingWith.java>
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;
/**
* Servlet implementation class MatchingWith
*/
@WebServlet("/MatchingWith")
public class MatchingWith extends HttpServlet {
private static final long serialVersionUID = 1L;
/**
* @see HttpServlet#HttpServlet()
*/
public MatchingWith() {
super();
// TODO Auto-generated constructor stub
}
/**
* @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
*/
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// TODO Auto-generated method stub
response.getWriter().append("Served at: ").append(request.getContextPath());
}
/**
* @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
*/
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
String gender = request.getParameter("gender");
int age = Integer.parseInt(request.getParameter("age"));
SelectList stl = new SelectList();
String result = stl.match(gender, age);
PrintWriter pw = response.getWriter();
pw.println("<html>");
pw.println("<head>");
pw.println("</head>");
pw.println("<body>");
pw.println("you are mached with : "+result+"<br>");
pw.println("</body>");
pw.println("</html>");
}
}
************************************************************************************
로또 프로그램
금액 입력 > 횟수에 맞게 6개 숫자 생성
************************************************************************************
'프로그래밍, 통계학 > Servlet' 카테고리의 다른 글
[36일차]2015.08.27.목, Servlet, 아파치 톰캣 (0) | 2015.08.27 |
---|