1、运用java语言,页面编码格式:
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>2、form表单,但你提交后,会跳转到servlet/Studentservlet,采用的方式是post,还有另一种方式,是get,一般用post,如果不写则默认为get:
<form action="servlet/Studentservlet" method="post">
<h2>学生信息收集:</h2>
姓名:<input type="text" name="uname"><br /> <br />
身份证号:<input name="sfz" /><br /> <br />
职业:<input type="text" name="uwork"><br /> <br />
性别:
<input type="radio" name="gender" value="男" />男
<input type="radio" name="gender" value="女" />女
<br /> <br />
国籍:
<select name="nana">
<option value="中国">中国</option>
<option value="委内瑞拉">委内瑞拉</option>
<option value="美国">美国</option>
<option value="朝鲜">朝鲜</option>
</select>
<br /> <br />
所在地:
<select name="szd">
<option value="重庆">重庆</option>
<option value="上海">上海</option>
<option value="北京">北京</option>
<option value="成都">成都</option>
<option value="广州">广州</option>
<option value="厦门">厦门</option>
<option value="福建">福建</option>
<option value="澳门">澳门</option>
</select>
<br /><br />
文凭:
<select name="wp">
<option value="小学">小学</option>
<option value="初中">初中</option>
<option value="高中">高中</option>
<option value="大学">大学</option>
<option value="博士">博士</option>
<option value="硕士">硕士</option>
</select>
<br /><br />
联系方式:<input name="phone" /><br /> <br />
<br />
<br />
<input type="submit" value="提交信息" />
</form>
3、用dopost函数模块时在网页显示出现中文乱码的处理方式:
response.setCharacterEncoding("utf-8");4、用doget函数模块时在网页显示出现中文乱码的处理方式:
String name = request.getParameter("uname");
name = new String(name.getBytes("iso-8859-1"), "utf-8");5、完整代码
(1).jsp文件
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<base href="<%=basePath%>">
<title>My JSP 'index.jsp' starting page</title>
<meta http-equiv="pragma" content="no-cache">
<meta http-equiv="cache-control" content="no-cache">
<meta http-equiv="expires" content="0">
<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
<meta http-equiv="description" content="This is my page">
<!--
<link rel="stylesheet" type="text/css" href="styles.css">
-->
</head>
<body>
<form action="servlet/Studentservlet" method="post">
<h2>学生信息收集:</h2>
姓名:<input type="text" name="uname"><br /> <br />
身份证号:<input name="sfz" /><br /> <br />
职业:<input type="text" name="uwork"><br /> <br />
性别:
<input type="radio" name="gender" value="男" />男
<input type="radio" name="gender" value="女" />女
<br /> <br />
国籍:
<select name="nana">
<option value="中国">中国</option>
<option value="委内瑞拉">委内瑞拉</option>
<option value="美国">美国</option>
<option value="朝鲜">朝鲜</option>
</select>
<br /> <br />
所在地:
<select name="szd">
<option value="重庆">重庆</option>
<option value="上海">上海</option>
<option value="北京">北京</option>
<option value="成都">成都</option>
<option value="广州">广州</option>
<option value="厦门">厦门</option>
<option value="福建">福建</option>
<option value="澳门">澳门</option>
</select>
<br /><br />
文凭:
<select name="wp">
<option value="小学">小学</option>
<option value="初中">初中</option>
<option value="高中">高中</option>
<option value="大学">大学</option>
<option value="博士">博士</option>
<option value="硕士">硕士</option>
</select>
<br /><br />
联系方式:<input name="phone" /><br /> <br />
<br />
<br />
<input type="submit" value="提交信息" />
</form>
</body>
</html>(2).java文件:
package login;
import java.io.IOException;
import java.io.PrintWriter;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
public class Studentservlet extends HttpServlet {
/**
* Constructor of the object.
*/
public Studentservlet() {
super();
}
/**
* Destruction of the servlet. <br>
*/
public void destroy() {
super.destroy(); // Just puts "destroy" string in log
// Put your code here
}
/**
* The doGet method of the servlet. <br>
*
* This method is called when a form has its tag value method equals to get.
*
* @param request the request send by the client to the server
* @param response the response send by the server to the client
* @throws ServletException if an error occurred
* @throws IOException if an error occurred
*/
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
response.setContentType("text/html");
PrintWriter out = response.getWriter();
out.println("<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\">");
out.println("<HTML>");
out.println(" <HEAD><TITLE>A Servlet</TITLE></HEAD>");
out.println(" <BODY>");
//处理post提交中文乱码
request.setCharacterEncoding("utf-8");
//获取信息
String name = request.getParameter("uname");
name = new String(name.getBytes("iso-8859-1"), "utf-8");
String sfz = request.getParameter("sfz");
String work = request.getParameter("uwork");
work = new String(work.getBytes("iso-8859-1"), "utf-8");
String gender = new String(request.getParameter("gender").getBytes("iso-8859-1"),"utf-8");
String nana = new String(request.getParameter("nana").getBytes("iso-8859-1"),"utf-8");
String szd = new String(request.getParameter("szd").getBytes("iso-8859-1"),"utf-8");
String wp = new String(request.getParameter("wp").getBytes("iso-8859-1"),"utf-8");
String phone = request.getParameter("phone");
out.println(name + "<br />");
out.println(sfz + "<br />");
out.println(work + "<br />");
out.println(gender + "<br />");
out.println(nana + "<br />");
out.println(szd + "<br />");
out.println(wp + "<br />");
out.println(phone + "<br />");
out.println(" </BODY>");
out.println("</HTML>");
out.flush();
out.close();
}
public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
response.setContentType("text/html");
//处理post提交中文乱码
request.setCharacterEncoding("utf-8");
response.setCharacterEncoding("utf-8");
PrintWriter out = response.getWriter();
out.println("<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\">");
out.println("<HTML>");
out.println(" <HEAD><TITLE>A Servlet</TITLE></HEAD>");
out.println(" <BODY>");
//获取信息
String name = request.getParameter("uname");
String sfz = request.getParameter("sfz");
String work = request.getParameter("uwork");
String gender = request.getParameter("gender");
String nana = request.getParameter("nana");
String szd = request.getParameter("szd");
String wp = request.getParameter("wp");
String phone = request.getParameter("phone");
out.println(name + "<br />");
out.println(sfz + "<br />");
out.println(work + "<br />");
out.println(gender + "<br />");
out.println(nana + "<br />");
out.println(szd + "<br />");
out.println(wp + "<br />");
out.println(phone + "<br />");
out.println(" </BODY>");
out.println("</HTML>");
out.flush();
out.close();
}
/**
* Initialization of the servlet. <br>
*
* @throws ServletException if an error occurs
*/
public void init() throws ServletException {
// Put your code here
}
}
本文介绍了一个使用Java实现的学生信息收集表单案例,包括表单设计、提交方式及处理中文乱码的方法。通过POST和GET两种提交方式演示了如何避免乱码问题,并提供了完整的JSP和Servlet代码。
1353

被折叠的 条评论
为什么被折叠?



