Latest web development tutorials

JSP 양식 처리

우리는 종종 서버에 정보를 제출하고 데몬 프로세스를 할 필요가 웹을 검색. 브라우저는 서버에 데이터를 제출 GET과 POST 방법을 사용합니다.


GET 메서드

은 "?"에 의해 분리를 통해 URL, URL 인코딩 정보에 추가 정보 요청을 인코딩하는 방법을 GET. 다음과 같습니다 :

http://www.w3big.com/hello?key1=value1&key2=value2

GET 방법은 예 GET 방법을 사용하지 않을 것을 권장 암호 및 기타 파라미터 등의 기본 브라우저 민감한 정보를 전달하는 방법이다.

익숙해 송신 데이터의 사이즈는 1024 바이트까지 (한정되지 않고, 파라미터의 수를 주) 제한된다.


POST 방법

중요한 정보 암호와 같은 그래서 우리는 데이터가 암시입니다 제출하는 POST 방식, POST를 전달할 수 있습니다.

데이터를 제출하는 POST가 표시되지 않습니다, 내부 URL을 통해 전달되는 GET (브라우저의 주소 표시 줄을 볼 수 있습니다).

전달 된 파라미터를 얻을 수있는 경우 getParameter ()를 사용하여 JSP는는 getInputStream () 메소드는 클라이언트의 요청을 이진 데이터 스트림을 처리하기 위해 사용된다.


JSP 폼 데이터를 판독

  • 의 getParameter () : 사용 request.getParameter () 메서드는 형식 매개 변수의 값을 얻을 수 있습니다.

  • 대해 getParameterValues () : 체크 박스 클래스 (같은 이름,하지만 복수의 값) 데이터로 얻을.이러한 유형의 체크 박스와 같은 변수의 배열을 받기

  • 대해 getParameterNames () : 모든 변수의 이름을 얻을 수있는이 방법은,이 방법은 Emumeration을 반환합니다.

  • 는 getInputStream ()가이 방법은 클라이언트로부터 이진 데이터 스트림을 판독하기 위해 호출된다.


는 URL GET 방법의 사용 예

다음은 간단한 URL이며, URL에서 파라미터를 전달하는 GET 방법을 사용하여

http://localhost:8080/testjsp/main.jsp?name=本教程&url=http://ww.w3big.com

프로젝트 testjsp 주소입니다.

다음은 클라이언트에 의해 제출 된 처리 양식 데이터의 JSP 프로그램 main.jsp 파일입니다 다음, 우리는 제출 된 데이터를 얻을 수있는 경우 getParameter () 메소드를 사용 :

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<%@ page import="java.io.*,java.util.*" %>
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>本教程(w3big.com)</title>
</head>
<body>
<h1>使用 GET 方法读取数据</h1>
<ul>
<li><p><b>站点名:</b>
   <%= request.getParameter("name")%>
</p></li>
<li><p><b>网址:</b>
   <%= request.getParameter("url")%>
</p></li>
</ul>
</body>
</html>

다음에 우리는 브라우저에 http를 방문 : // localhost를 : 8080 / testjsp / main.jsp 이름 = 이 튜토리얼 및 URL = HTTP :? //ww.w3big.com 다음과 같이 출력 결과는 다음과 같습니다 :


예 형태의 GET 방법을 사용

다음은 클라이언트 데이터 파일을 main.jsp하는 GET 방법으로 제출하는 간단한 HTML 양식입니다 :

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>本教程(w3big.com)</title>
</head>
<body>

<form action="main.jsp" method="GET">
站点名: <input type="text" name="name">
<br />
网址: <input type="text" name="url" />
<input type="submit" value="提交" />
</form>

</body>
</html>

이 test.htm 파일에 위의 HTML 코드를 저장합니다. (main.jsp 같은 디렉토리 포함)의 WebContent JSP 프로젝트에서 현재 디렉토리에 파일을 배치합니다.

방문 HTTP 작성자 : // localhost를 : 8080 / testjsp / test.html를 main.jsp 파일로 양식 데이터를 제출, GIF 데모는 다음과 같습니다 :

이 결과 출력 것이다은 "사이트 이름"과 "URL"이 양식에 정보를 입력하고 '제출'버튼을 클릭합니다.


폼의 POST 방법의 예

다음의 폼 데이터를 송신하고 main.jsp Hello.htm 파일의 코드를 수정하는 POST 방법을 사용하자

main.jsp 파일 코드 :

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<%@ page import="java.io.*,java.util.*" %>
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>本教程(w3big.com)</title>
</head>
<body>
<h1>使用 POST 方法读取数据</h1>
<ul>
<li><p><b>站点名:</b>
<%
// 解决中文乱码的问题
String name = new String((request.getParameter("name")).getBytes("ISO-8859-1"),"UTF-8");
%>
   <%=name%>
</p></li>
<li><p><b>网址:</b>
   <%= request.getParameter("url")%>
</p></li>
</ul>
</body>
</html>

우리는 새로운 코드 문자열 사용 ((request.getParameter ( "이름 ")).하는 getBytes () "ISO-8859", "UTF-8") , 코드를 변환 중국어 왜곡의 발생을 방지 할 수있다.

다음은 수정 된 코드를 Test.htm은 다음과 같습니다

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>本教程(w3big.com)</title>
</head>
<body>

<form action="main.jsp" method="POST">
站点名: <input type="text" name="name">
<br />
网址: <input type="text" name="url" />
<input type="submit" value="提交" />
</form>

</body>
</html>

방문 HTTP 작성자 : // localhost를 : 8080 / testjsp / test.html를 main.jsp 파일로 양식 데이터를 제출, GIF 데모는 다음과 같습니다 :


JSP 프로그램 확인란 패스 데이터

체크 박스 체크 박스는 더 많은 데이터를 전달할 수 있습니다.

다음은 간단한 HTML 코드 및 코드를 Test.htm 파일에 저장된다 :

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>本教程(w3big.com)</title>
</head>
<body>

<form action="main.jsp" method="POST" target="_blank">
<input type="checkbox" name="google" checked="checked" /> Google
<input type="checkbox" name="w3big"  /> 本教程
<input type="checkbox" name="taobao" checked="checked" /> 
                                                淘宝
<input type="submit" value="选择网站" />
</form>

</body>
</html>

브라우저에서 위의 코드는 다음에 액세스합니다 :

다음과 같은 데이터를 처리 상자 main.jsp 파일의 코드는 다음과 같습니다

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<%@ page import="java.io.*,java.util.*" %>
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>本教程(w3big.com)</title>
</head>
<body>
<h1>从复选框中读取数据</h1>
<ul>
<li><p><b>Google 是否选中:</b>
   <%= request.getParameter("google")%>
</p></li>
<li><p><b>本教程是否选中:</b>
   <%= request.getParameter("w3big")%>
</p></li>
<li><p><b>淘宝是否选中:</b>
   <%= request.getParameter("taobao")%>
</p></li>
</ul>
</body>
</html>

방문 HTTP 작성자 : // localhost를 : 8080 / testjsp / test.html를 main.jsp 파일로 양식 데이터를 제출, GIF 데모는 다음과 같습니다 :


모든 형태의 매개 변수를 읽기

우리는은 HttpServletRequest 대해 getParameterNames를 사용하여 아래에서 () 형태의 모든 파라미터를 판독하기 위해, 모든 변수의 이름을 얻을 수있는 방법에 열거는 반환한다.

우리가 열거 (열거)가되면, 우리는 요소가 있는지 여부를 확인하기 위해 hasMoreElements () 메서드를 호출하고, 각 매개 변수의 이름을 얻을 수 nextElement () 메소드를 사용 할 수 있습니다.

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<%@ page import="java.io.*,java.util.*" %>
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>本教程(w3big.com)</title>
</head>
<body>
<h1>读取所有表单参数</h1>
<table width="100%" border="1" align="center">
<tr bgcolor="#949494">
<th>参数名</th><th>参数值</th>
</tr>
<%
   Enumeration paramNames = request.getParameterNames();

   while(paramNames.hasMoreElements()) {
      String paramName = (String)paramNames.nextElement();
      out.print("<tr><td>" + paramName + "</td>\n");
      String paramValue = request.getParameter(paramName);
      out.println("<td> " + paramValue + "</td></tr>\n");
   }
%>
</table>
</body>
</html>

다음은 내용이 test.htm 파일입니다 :

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>本教程(w3big.com)</title>
</head>
<body>

<form action="main.jsp" method="POST" target="_blank">
<input type="checkbox" name="google" checked="checked" /> Google
<input type="checkbox" name="w3big"  /> 本教程
<input type="checkbox" name="taobao" checked="checked" /> 
                                                淘宝
<input type="submit" value="选择网站" />
</form>

</body>
</html>

다음과 같이 이제 우리는 브라우저 접근이 test.htm 출력 결과를 통해 데이터 파일을 제출

방문 HTTP 작성자 : // localhost를 : 8080 / testjsp / test.html를 main.jsp 파일로 양식 데이터를 제출, GIF 데모는 다음과 같습니다 :

당신은 JSP 코드는 텍스트 상자, 라디오 버튼, 드롭 다운 상자 나 데이터 등의 다른 형태로 다른 개체를 읽는 것보다 더를 사용하려고 할 수 있습니다.