java学习

NO.64 servlet工作相关

2017-09-07  本文已影响0人  smallnumber

1. post请求

(1)哪一些情况下,浏览器会发送post请求

设置表单的method="post"

(2)特点

a.不会将请求参数显示在浏览器地址栏,相对安全

注:并不会对请求参数加密。

b.会将请求参数添加到实体内容里面,所以,可以提交大量数据给服务器。

2.如何读取请求参数值?

(1)request提供的getParameter方法。

String  getParameter(String paramName);

  注:a.如果请求参数名写错,会返回null值。

b.如果不填写任何数据,会获得空字符串。

(2)request提供的getParameterValues

String[] getParameterValues(String paramName);

  注:a.当有多个请求参数名相同时,用该方法。

b.多选框,如果不选择任何选项,浏览器不会发送任何数据给服务器。

3. 处理表单中文参数乱码问题

(1)为什么会有乱码?

表单提交时,浏览器会对中文参数值进行编码。服务器端默认会使用iso-8859-1来解码。

  注:会使用表单所在的页面打开时使用的字符集来编码。

(2)如何解决?

1)情形1 表单提交方式为post

request.setCharacterEncoding("utf-8");

  注:要加到所有的request.getParameter方法前面。

2)情形2 表单提交方式为get

设置配置文件Connector处增加URIEncoding="utf-8"

  注: 只针对get请求有效。

练习:写一个Servlet,将所有员工信息以表格形式展现出来

step1.在EmployeeDAO类当中,添加

List findAll()

step2.测试findAll()

step3.写ListEmpServlet。

先将所有员工找出来:  List employees = dao.findAll()

然后输出表格:

out.println("<table>")

ID姓名xxxx

for(int i = 0;i < employees.size(); i++){

Employee e = employees.get(i);

"<tr><td>"+ e.getId() + "</td>"+"..."+"</td><tr>"

}

out.println("</table>");

代码示例:

可以访问数据库某表的所有数据,并呈表格形式
上一篇下一篇

猜你喜欢

热点阅读