使用eclipse完成簡單的註冊功能,一個register.jsp頁面用於填寫註冊信息,一個show.jsp頁面用於顯示註冊信息。
register.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
<form action = "show.jsp" method = "get">
name:<input type = "text" name = "uname"/></br>
password:<input type="password" name="upwd"/></br>
hobbies:
<input type = "checkbox" name = "uhobbies" value = "足球" >足球
<input type = "checkbox" name = "uhobbies" value = "籃球" >籃球
<input type = "checkbox" name = "uhobbies" value = "乒乓球" >乒乓球</br>
<input type = "submit" value = "註冊"/>
</form>
</body>
</html>
show.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
<%
//request.setCharacterEncoding("UTF-8");
String name = request.getParameter("uname");
String pwd = request.getParameter("upwd");
String [] hobbies = request.getParameterValues("uhobbies");
%>
name:<%=name %></br>
password:<%=pwd %></br>
hobbies:<%
for(String hobbie : hobbies){
out.println(hobbie + " ");
}
%>
</body>
</html>
重點: get和post
get是url解碼方式,默認解碼格式是tomcat自帶的解碼格式,tomcat7及以下的版本的默認爲iso-8859-1,7以上的版本是utf-8,所以使用8及以上的tomcat版本的話,不需要再額外設置編碼方式,不會出現亂碼。如果使用的是7及以下的版本,需要設置編碼格式,可以一個一個改(new String (name.getBytes("iso-9950-1"), "utf-8")),也可以在配置文件server.xml中進行修改。
如果使用的是post進行提交,需要在show.jsp頁面使用語句request.serCharacterEncoding("utf-8"),否則會出現中文亂碼。