2021. 6. 15. 18:21, 문제
1. 검색어 입력하면 사이트에 검색하기
request.getparameter(); // 이름이 name인 파라미터의 값을 구한다. 존재하지 않을 경우 null을 리턴
response.sendRedirect(); // 특정 처리 후, 또는 특정 조건일 때에 지정한 페이지로 이동하고 싶은 경우 많이 사용되는 것
form.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%
//요청 정보의 인코딩을 변경 (기본 ISO-8859-1)
request.setCharacterEncoding("UTF-8");
%>
<!DOCTYPE html>
<html lang="ko">
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
<div style="text-align: center;">
<h2>검색</h2>
<form action="search.jsp" method="POST"> <!-- GET 요청 . POST 전송 -->
<table>
<colgroup>
<col style = "width:"20%;" />
<col />
</colgroup>
<tr>
<th>검색어</th>
<td><input type="text" name="find"
placeholder="검색어 입력"></td>
</tr>
<tr>
<th>검색사이트</th>
<td>
<% //<lable> 태그는 사용자 인터페이스 요소의 라벨을 정의할때 사용%>
<label><input type="radio" name = "site" value = "naver">네이버 </label>
<label><input type="radio" name = "site" value = "daum">다음 </label>
<label><input type="radio" name = "site" value = "google">구글 </label>
<label><input type="radio" name = "site" value = "bing">빙 </label>
</td>
<tr>
<td colspan="2"><button type="submit">찾아보기</button>
</td>
</tr>
</table>
</form>
</div>
</body>
</html>
//name = find가 검색어
//site = 포털사이트를 선택해 어디서 검색할지
search.jsp
<%@page import="java.net.URLEncoder"%>
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html lang="ko">
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
<%
String f = request.getParameter("find");
//form에서 "검색어"에서 입력한 파라미터를 f 변수에 저장
String s = request.getParameter("site");
//form에서 "사이트"에서 입력한 파라미터를 s 변수에 저장
//https://www.google.com/search?q=%EC%98%A4%ED%86%A0%EB%B0%94%EC%9D%B4
//https://search.daum.net/search?w=tot&DA
//
%>
검색어 : <%=f %> <br>
사이트 : <%=s %> <br>
<%
//URLEncoder.encode(s);
String encF = URLEncoder.encode(f,"utf-8");
String url = "";
switch(s) {
<%-- 구글이나 다음,네이버에 '오토바이'라고 검색 할 시 주소창 =까지 복사 -->
<%-- f는 검색할 단어,문장 + f를 해주면 그에 해당하는 검색을 한다. -->
case "naver" : url = "https://search.naver.com/search.naver?query=" + f;
break;
case "daum" : url = "https://search.daum.net/search?w=tot&q=" + f;
break;
case "google" : url = "https://www.google.com/search?q=" +f;
break;
}
<%-- s는 라디오버튼을 선택 해야 하지만 만약 null(선택하지 않으면)
if문이 실행 된다.
if( !"".equals(url) ) {
response.sendRedirect(url);
}else{
%>
<h4>윤고랭이</h4>
<% }%>
</body>
</html>
1. getparameter를 사용해 name "site" 불러오기
2. switch문을 사용해서 url 복사 후 검색할 단어,문장 붙이기 + f
3. if( !"".equals(url) : s는 라디오 버튼인데
아무것도 선택하지 않을 때 if문 이 실행된다.
(url)에 링크 입력 하면 그쪽으로 간다.
'문제' 카테고리의 다른 글
[JSP] 파일을 읽고 그 값들을 한줄씩 테이블에 출력 (1) | 2021.06.17 |
---|---|
[JSP] 두 수 입력 연산자 선택 후 값 출력(계산기) (0) | 2021.06.16 |
[JSP] 몇단인지 선택하여 출력하기 (0) | 2021.06.14 |
Comments, Trackbacks