目录
二、录入、读取、输出员工数据_感受下get和post提交方式
一、前言
上两篇文章我们介绍了有关表单提交多个参数、以及get/post提交方式的编码一些知识点,详细可参考博文:
原创 java服务器端开发-servlet:2_1、表单提交中文参数_get/post解决编码问题
原创 java服务器端开发-servlet:2_2、表单提交多个参数_接收响应处理_执行流程图文介绍
这篇博文我们将介绍:录入、读取、输出员工数据以及感受下get和post提交方式,而后会陆续更新删除、修改、查找的一系列文章
二、录入、读取、输出员工数据_感受下get和post提交方式
1、html 表单提交代码:addEmp.html
<html>
<head>
<!-- 模拟一个消息头(content-type) content里面内容:“文本/网页,字符编码”-->
<meta http-equiv="content-type" content="text/html;charset=utf-8"/>
</head>
<!-- body定义总体样式 -->
<body style="font-size:18px; font-style:fond; color:red; ">
<form action="add" method="post">
<fieldset>
<legend>录入员工信息</legend>
姓名:<input name="name" /><br />
薪水:<input name="salary" /><br />
年龄:<input name="age" /><br />
<input type="submit" value="提交" />
</fieldset>
</form>
</body>
</html>
2、配置文件代码:web.xml
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://xmlns.jcp.org/xml/ns/javaee"
xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd"
version="3.1">
<display-name>web02</display-name>
<!-- t01_表单提交中文参数_解决编码问题 -->
<servlet>
<servlet-name>web02</servlet-name>
<servlet-class>t01_表单提交中文参数_解决编码问题.HelloServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>web02</servlet-name>
<url-pattern>/hello</url-pattern>
</servlet-mapping>
<!-- t02_表单提交多个参数_接收响应处理 -->
<servlet>
<servlet-name>web02_two</servlet-name>
<servlet-class>t02_表单提交多个参数_接收响应处理.HelloServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>web02_two</servlet-name>
<url-pattern>/hello_many</url-pattern>
</servlet-mapping>
<!-- t03_录入员工数据_感受get和post提交方式 -->
<servlet>
<servlet-name>addEmp</servlet-name>
<servlet-class> t03_录入员工数据_感受get和post提交方式.AddEmpServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>addEmp</servlet-name>
<url-pattern>/add</url-pattern>
</servlet-mapping>
</web-app>
3、java代码:AddEmpServlet.java
package t03_录入员工数据_感受get和post提交方式;
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;
/**
* 录入员工数据_感受get和post提交方式
* @UpdateTime:2011年02月28日 下午17:30:00
* @ProjectName: 【项目名】
* @ClassName:【类名】
* @CategoryName:【类型】如:Activity
* @author:luminal、邮箱 luminal_yyh@163.com
* @since 2.3.0【版本】
* @Description:(可以在这里描述这个类的作用)
*/
public class AddEmpServlet extends HttpServlet {
public void service(HttpServletRequest request,
HttpServletResponse response)
throws ServletException,IOException{
//设置编码格式,只对post提交方式有效
request.setCharacterEncoding("utf-8");
String name = request.getParameter("name");
String age = request.getParameter("age");
String salary = request.getParameter("salary");
Double salD = Double.parseDouble(salary);
int ageInt = Integer.parseInt(age);
//设置get提交方式编码。
//tomact8以下使用,tomact8以上反而乱码,无需设置。
//name = new String(name.getBytes("ISO-8859-1"), "UTF-8");
String empInfo = "此员工的信息:name为"+name+",年龄为"+age+",薪资为:"+salD;
response.setContentType("text/html;charset=utf-8");
PrintWriter out = response.getWriter();
// 将处理结果数据缓存到response对象上
//-->处理结果,打包发送给浏览器
//-->浏览器拆包,生成页面【详见Servlet执行过程介绍】
out.println(empInfo);
out.close();
}
}
4、效果演示
(1)post提交方式
下面我们来操作演示一下:启动tomact,部署web项目,在谷歌浏览器输入:http://localhost:8080/web02/addEmp.html
点击,提交后,如下图:
它的地址变为:http://localhost:8080/web02/add
(2)get提交方式
我们把 html 表单提交代码:addEmp.html 的提交方式改为 get:
<form action="add" method="get">
重新部署web项目,在谷歌浏览器输入:http://localhost:8080/web02/addEmp.html
点击,提交后,如下图:
它的地址变为:http://localhost:8080/web02/add?name=帅气华&salary=20000&age=18
(3)说明
即post提交方式不会在浏览器地址栏上显示提交的参数信息,get提交方式会显示
<!-- 注意点
<form action="add" method="post">
action="add",对应web.xml中标签url-pattern里的"/add",
method="post",提交方式可以为: post或get。当输入测试地址,注意观察它的变化
post提交方式:
http://localhost:8080/web02/addEmp.html
提交后,浏览器地址变化为:http://localhost:8080/web02/add
get提交方式:
http://localhost:8080/web02/addEmp.html
提交后,浏览器地址变化为:http://localhost:8080/web02/add?name=帅气华&salary=20000&age=18
即post提交方式不会在浏览器地址栏上显示提交的参数信息,get提交方式会显示
-->