728x90
728x90
BIG
설문조사를 인클루드를 써서 넣어줌
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%@ page import="java.util.Enumeration"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
<%
//request에 담겨있는 것 출력
//request에 담겨있는 Attribute 이름 다 가져오기.
Enumeration<String> names = request.getAttributeNames();
while (names.hasMoreElements()) {//담긴 요소가 있나?
String name = names.nextElement();//요소를 꺼내서 name에 저장
out.print(name + " : " + request.getAttribute(name) + "<br>");
}
//getParameter의 반환값은 String
//getAttribute는 반환값이 Object 이므로 String으로 형변환 하여 사용.
String name = (String) request.getAttribute("name");//고길동
String gender = (String) request.getAttribute("gender");//F
String season = (String) request.getAttribute("season");//봄,가을
String color = (String) request.getAttribute("color");
String phone = (String) request.getAttribute("phone");
String age = (String) request.getAttribute("age");
%>
<form action="insertResearch.jsp" method="post">
<table border='1' cellpadding='5px'>
<tr>
<td>이름</td>
<td><input type="text" name="name" size="20" value="<%=name%>"></td>
</tr>
<tr>
<td>성별</td>
<%
String ch1 = "";
String ch2 = "";
if (gender.equals("M")) {
ch1 = "checked";
} else {
ch2 = "checked";
}
%>
<td><input type="radio" name="gender" value="male" <%=ch1%>>남자
<input type="radio" name="gender" value="female" <%=ch2%>>여자</td>
</tr>
<tr>
<%
if (season == null) {
out.print("없습니다");
} else {
%>
<%
String b = "";
String y = "";
String g = "";
String g1 = "";
if (season.indexOf("봄") != -1) {
b = "checked";
}
if (season.indexOf("여름") != -1) {
y = "checked";
}
if (season.indexOf("가을") != -1) {
g = "checked";
}
if (season.indexOf("겨울") != -1) {
g1 = "checked";
}
%>
<td>좋아하는 계절</td>
<td><input type="checkbox" name="season" value="1" <%=b%>>봄
<input type="checkbox" name="season" value="2" <%=y%>>여름 <input
type="checkbox" name="season" value="3" <%=g%>>가을 <input
type="checkbox" name="season" value="4" <%=g1%>>겨울</td>
<%
}
%>
</tr>
<tr>
<td>연락처</td>
<td><input type=text name=phone value=<%=phone %>></td>
</tr>
<tr>
<td>연령</td>
<%
String age10 = "";
String age20 = "";
String age30 = "";
String age40 = "";
String age50 = "";
String age60 = "";
if(age.indexOf("10대이하")!=-1){
age10="checked";
}else if(age.indexOf("20대")!=-1){
age20="checked";
}else if(age.indexOf("30대")!=-1){
age30="checked";
}else if(age.indexOf("40대")!=-1){
age40="checked";
}else if(age.indexOf("50대")!=-1){
age50="checked";
}else if(age.indexOf("60대이상")!=-1){
age60="checked";
}
%>
<td><input type=radio name=age value="10대이하" <%=age10 %>>10대이하 <input
type=radio name=age value="20대"<%=age20 %>>20대 <input type=radio
name=age value="30대"<%=age30 %>>30대 <input type=radio name=age
value="40대"<%=age40 %>>40대 <input type=radio name=age value="50대"<%=age50 %>>50대
<input type=radio name=age value="60대이상"<%=age60 %>>60대이상</td>
</tr>
<%
if (color == null) {
out.print("좋아하는 색깔은 없습니다");
} else {
String re = "";
String or = "";
String ye = "";
String gr = "";
String bl = "";
String na = "";
String pu = "";
String bla = "";
String pi = "";
String ev = "";
String br = "";
if (color.indexOf("red")!=-1) {
re = "checked";
}
if (color.indexOf("orange")!=-1) {
or = "checked";
}
if (color.indexOf("yellow")!=-1) {
ye = "checked";
}
if (color.indexOf("green")!=-1) {
gr = "checked";
}
if (color.indexOf("blue")!=-1) {
bl = "checked";
}
if (color.indexOf("navy")!=-1) {
na = "checked";
}
if (color.indexOf("purple")!=-1) {
pu = "checked";
}
if (color.indexOf("black")!=-1) {
bla = "checked";
}
if (color.indexOf("pink")!=-1) {
pi = "checked";
}
if (color.indexOf("ever-green")!=-1) {
ev = "checked";
}
if (color.indexOf("brown")!=-1) {
br = "checked";
}
%>
<tr>
<td>좋아하는 색상</td>
<td><input type="checkbox" name=color value="red" <%=re%>>빨강
<input type="checkbox" name=color value="orange" <%=or%>>주황
<input type="checkbox" name=color value="yellow" <%=ye%>>노랑
<input type="checkbox" name=color value="green" <%=gr%>>초록
<input type="checkbox" name=color value="blue" <%=bl%>>파랑 <input
type="checkbox" name=color value="navy" <%=na%>>남색 <input
type="checkbox" name=color value="puple" <%=pu%>>보라 <input
type="checkbox" name=color value="black" <%=bla%>>검정 <input
type="checkbox" name=color value="pink" <%=pi%>>핑크 <input
type="checkbox" name=color value="ever-green" <%=ev%>>풀색 <input
type="checkbox" name=color value="brown" <%=br%>>똥색</td>
<%} %>
</tr>
<tr align="center">
<td colspan='2'><input type="submit" value="전송"> <input
type="reset" value="취소"></td>
</tr>
</table>
</form>
</body>
</html>
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<tr>
<td>연락처</td>
<td><input type=text name=phone></td>
</tr>
<tr>
<td>연령</td>
<td><input type=radio name=age value="10대이하">10대이하 <input
type=radio name=age value="20대" checked>20대 <input
type=radio name=age value="30대">30대 <input type=radio
name=age value="40대">40대 <input type=radio name=age
value="50대">50대 <input type=radio name=age value="60대이상">60대이상
</td>
</tr>
<tr>
<td>좋아하는 색상</td>
<td><input type="checkbox" name=color value="red">빨강 <input
type="checkbox" name=color value="orange">주황 <input
type="checkbox" name=color value="yellow">노랑 <input
type="checkbox" name=color value="green">초록 <input
type="checkbox" name=color value="blue">파랑 <input
type="checkbox" name=color value="navy">남색 <input
type="checkbox" name=color value="puple">보라 <input
type="checkbox" name=color value="black">검정 <input
type="checkbox" name=color value="pink">핑크 <input
type="checkbox" name=color value="ever-green">풀색 <input
type="checkbox" name=color value="brown">똥색</td>
</tr>
VO
package research;
public class ResearchVO {
private int rno;
private String name;
private String age;
private String color;
private String gender;
private String mobile;
private String season;
public int getRno() {
return rno;
}
public void setRno(int rno) {
this.rno = rno;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getAge() {
return age;
}
public void setAge(String age) {
this.age = age;
}
public String getColor() {
return color;
}
public void setColor(String color) {
this.color = color;
}
public String getGender() {
return gender;
}
public void setGender(String gender) {
this.gender = gender;
}
public String getMobile() {
return mobile;
}
public void setMobile(String mobile) {
this.mobile = mobile;
}
public String getSeason() {
return season;
}
public void setSeason(String season) {
this.season = season;
}
public ResearchVO() {
super();
// TODO Auto-generated constructor stub
}
public ResearchVO(int rno, String name, String age, String color, String gender, String mobile, String season) {
super();
this.rno = rno;
this.name = name;
this.age = age;
this.color = color;
this.gender = gender;
this.mobile = mobile;
this.season = season;
}
@Override
public String toString() {
return "ResearchVO [rno=" + rno + ", name=" + name + ", age=" + age + ", color=" + color + ", gender=" + gender
+ ", mobile=" + mobile + ", season=" + season + "]";
}
}
DAO
package research;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
public class ResearchDAO {
static {
try {
Class.forName("oracle.jdbc.OracleDriver");
}catch(ClassNotFoundException e) {
e.printStackTrace(); System.exit(0);
}
}
//싱글톤
public static ResearchDAO dao=null;
private ResearchDAO() {}
public static ResearchDAO getInstance() {
if(dao==null) {
dao=new ResearchDAO();
}
return dao;
}
//공통모듈
private Connection getConnection() {
Connection conn=null;
String url="jdbc:oracle:thin:@localhost:1521:xe";
try {
conn=DriverManager.getConnection(url,"JAVADB","1234");
} catch (SQLException e) {
e.printStackTrace();System.exit(0);
}
return conn;
}
//닫기
private void close(PreparedStatement pstmt,Connection conn) {
try {
if(pstmt!=null)
pstmt.close();
if(conn!=null)
conn.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
private void close(ResultSet rs,PreparedStatement pstmt,Connection conn) {
try {
if(rs!=null)
rs.close();
if(pstmt!=null)
pstmt.close();
if(conn!=null)
conn.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
//---------------- 공통모듈 end
public boolean insertResearch(String name,String age, String color, String gender, String phone, String season) {
boolean r = false;
Connection conn = null;
PreparedStatement pstmt = null;
conn = this.getConnection();
System.out.println(color);
String sql = "insert into research values (rno_seq.nextval,?,?,?,?,?,?)";
try {
pstmt = conn.prepareStatement(sql);
pstmt.setString(1, name);
pstmt.setString(2, age);
pstmt.setString(3, color);
pstmt.setString(4, gender);
pstmt.setString(5, phone);
pstmt.setString(6, season);
int result = pstmt.executeUpdate();
if(result==1)r=true;
} catch (SQLException e) {
e.printStackTrace();
} finally {
this.close(pstmt, conn);
}
return r;
}
}
인서트하기
<%@page import="java.lang.ProcessBuilder.Redirect"%>
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%@ page import="research.*" %>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
<%
//db로 넘길때 한글깨짐을 방지하기 위해
request.setCharacterEncoding("utf-8");
String name = request.getParameter("name");
String gender=request.getParameter("gender");
String phone=request.getParameter("phone");
String[] seasons=request.getParameterValues("season");
String age=request.getParameter("age");
String[] color=request.getParameterValues("color");
if(gender.equals("male")) gender = "M";
else gender = "F";
String season ="";
if(seasons!=null){
for(String s:seasons){
int fav=Integer.parseInt(s);
switch(fav){
case 1 :season+="봄,";break;
case 2 :season+="여름,";break;
case 3 :season+="가을,";break;
case 4 :season+="겨울,";break;
}
}
season=season.substring(0,season.length()-1);
}
String colors ="";
if(color!=null){
StringBuilder sb = new StringBuilder();
for (String s : color) {
sb = sb.append(s + ",");
}
colors = sb.toString();
colors = colors.substring(0, colors.length() - 1);
}
ResearchDAO dao = ResearchDAO.getInstance();
boolean result = false;
result = dao.insertResearch(name, age, colors, gender, phone, season);
if (result == true) {
out.print("삽입완료");
request.setAttribute("name", name);
request.setAttribute("gender", gender);
request.setAttribute("season", season);
request.setAttribute("phone", phone);
request.setAttribute("age", age);
request.setAttribute("color", colors);
RequestDispatcher rd = request.getRequestDispatcher("researchMain.jsp");
rd.forward(request, response);
} else {
//아무것도 전달하는 거 없이 페이지 이동만 하려면 sendRedirect를 씀
response.sendRedirect("researchForm.jsp");
out.print("삽입실패");
}
%>
</body>
</html>
메인페이지
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%@ page import="java.util.Enumeration"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
<%
//request에 담겨있는 것 출력
//request에 담겨있는 Attribute 이름 다 가져오기.
Enumeration<String> names = request.getAttributeNames();
while (names.hasMoreElements()) {//담긴 요소가 있나?
String name = names.nextElement();//요소를 꺼내서 name에 저장
out.print(name + " : " + request.getAttribute(name) + "<br>");
}
//getParameter의 반환값은 String
//getAttribute는 반환값이 Object 이므로 String으로 형변환 하여 사용.
String name = (String) request.getAttribute("name");//고길동
String gender = (String) request.getAttribute("gender");//F
String season = (String) request.getAttribute("season");//봄,가을
String color = (String) request.getAttribute("color");
String phone = (String) request.getAttribute("phone");
String age = (String) request.getAttribute("age");
%>
<form action="insertResearch.jsp" method="post">
<table border='1' cellpadding='5px'>
<tr>
<td>이름</td>
<td><input type="text" name="name" size="20" value="<%=name%>"></td>
</tr>
<tr>
<td>성별</td>
<%
String ch1 = "";
String ch2 = "";
if (gender.equals("M")) {
ch1 = "checked";
} else {
ch2 = "checked";
}
%>
<td><input type="radio" name="gender" value="male" <%=ch1%>>남자
<input type="radio" name="gender" value="female" <%=ch2%>>여자</td>
</tr>
<tr>
<%
if (season == null) {
out.print("없습니다");
} else {
%>
<%
String b = "";
String y = "";
String g = "";
String g1 = "";
if (season.indexOf("봄") != -1) {
b = "checked";
}
if (season.indexOf("여름") != -1) {
y = "checked";
}
if (season.indexOf("가을") != -1) {
g = "checked";
}
if (season.indexOf("겨울") != -1) {
g1 = "checked";
}
%>
<td>좋아하는 계절</td>
<td><input type="checkbox" name="season" value="1" <%=b%>>봄
<input type="checkbox" name="season" value="2" <%=y%>>여름 <input
type="checkbox" name="season" value="3" <%=g%>>가을 <input
type="checkbox" name="season" value="4" <%=g1%>>겨울</td>
<%
}
%>
</tr>
<tr>
<td>연락처</td>
<td><input type=text name=phone value=<%=phone %>></td>
</tr>
<tr>
<td>연령</td>
<%
String age10 = "";
String age20 = "";
String age30 = "";
String age40 = "";
String age50 = "";
String age60 = "";
if(age.indexOf("10대이하")!=-1){
age10="checked";
}else if(age.indexOf("20대")!=-1){
age20="checked";
}else if(age.indexOf("30대")!=-1){
age30="checked";
}else if(age.indexOf("40대")!=-1){
age40="checked";
}else if(age.indexOf("50대")!=-1){
age50="checked";
}else if(age.indexOf("60대이상")!=-1){
age60="checked";
}
%>
<td><input type=radio name=age value="10대이하" <%=age10 %>>10대이하 <input
type=radio name=age value="20대"<%=age20 %>>20대 <input type=radio
name=age value="30대"<%=age30 %>>30대 <input type=radio name=age
value="40대"<%=age40 %>>40대 <input type=radio name=age value="50대"<%=age50 %>>50대
<input type=radio name=age value="60대이상"<%=age60 %>>60대이상</td>
</tr>
<%
if (color == null) {
out.print("좋아하는 색깔은 없습니다");
} else {
String re = "";
String or = "";
String ye = "";
String gr = "";
String bl = "";
String na = "";
String pu = "";
String bla = "";
String pi = "";
String ev = "";
String br = "";
if (color.indexOf("red")!=-1) {
re = "checked";
}
if (color.indexOf("orange")!=-1) {
or = "checked";
}
if (color.indexOf("yellow")!=-1) {
ye = "checked";
}
if (color.indexOf("green")!=-1) {
gr = "checked";
}
if (color.indexOf("blue")!=-1) {
bl = "checked";
}
if (color.indexOf("navy")!=-1) {
na = "checked";
}
if (color.indexOf("purple")!=-1) {
pu = "checked";
}
if (color.indexOf("black")!=-1) {
bla = "checked";
}
if (color.indexOf("pink")!=-1) {
pi = "checked";
}
if (color.indexOf("ever-green")!=-1) {
ev = "checked";
}
if (color.indexOf("brown")!=-1) {
br = "checked";
}
%>
<tr>
<td>좋아하는 색상</td>
<td><input type="checkbox" name=color value="red" <%=re%>>빨강
<input type="checkbox" name=color value="orange" <%=or%>>주황
<input type="checkbox" name=color value="yellow" <%=ye%>>노랑
<input type="checkbox" name=color value="green" <%=gr%>>초록
<input type="checkbox" name=color value="blue" <%=bl%>>파랑 <input
type="checkbox" name=color value="navy" <%=na%>>남색 <input
type="checkbox" name=color value="puple" <%=pu%>>보라 <input
type="checkbox" name=color value="black" <%=bla%>>검정 <input
type="checkbox" name=color value="pink" <%=pi%>>핑크 <input
type="checkbox" name=color value="ever-green" <%=ev%>>풀색 <input
type="checkbox" name=color value="brown" <%=br%>>똥색</td>
<%} %>
</tr>
<tr align="center">
<td colspan='2'><input type="submit" value="전송"> <input
type="reset" value="취소"></td>
</tr>
</table>
</form>
</body>
</html>
728x90
반응형
BIG
'🎵JSP' 카테고리의 다른 글
[JSP] Run On Server (Always use this server when running this project 해제하는 법) (0) | 2023.02.09 |
---|---|
[JSP]pageContext(ServletRequest,getRequest,forward,include) (0) | 2023.02.09 |
[JSP]setCharacterEncoding,sendRedirect (0) | 2023.02.09 |
[JSP] JSP안에 있는 내장 객체(request) (0) | 2023.02.08 |
[JSP] 여러가지 문장 연습해보기 (0) | 2023.02.08 |
댓글