Servlet 与 JSP

Servlet 与 JSP

Servlet

1.post请求中的汉字会有乱码问题

原因:
URLEcoder.encode编码用的是utf-8
URLDecoder.decode浏览器解码用的是iso-8859-1
导致编解码方式不一致
解决方法:设置解码的字符集,而且设置必须出现在getParameter方法调用之前

request.setCharacterEncoding("utf-8");

2.request重要方法

request.getParameter(“参数名”); >返回参数值
request.getParameterValues(“参数名”); >返回参数值的数组(适用于多选框等)
request.setCharacterEncoding(“解码的字符集”);
request.getMethod();
>返回请求方式(get或post)
request.getRequestURL();
>返回当前的请求路径
request.getRemoteAddr();====>获取访问者的ip地址

3.一个请求分为几个部分

Get请求分为两个部分

(1)Get路径/HTTP 1.1 ====>请求行
(2)请求头:
Host:要访问哪个虚拟机 一个服务器下有多个host,每个host下又有多个应用程序
Accept:可以处理的内容格式:例如text/html
Accept-Encoding:能够支持的压缩格式
Accept-Language:支持的语言:例如zh-CN(中文简体)

Post请求分为三个部分

(1)Content-Type:请求体的格式:例如:application/www-form-i-urlencoded(普通表单格式)
(2)Content-Length:请求体内容的长度
(3)请求体:post请求参数放入了请求体当中,例如:username=zhangsan&password=123
如果有中文会自动编码

4.响应

分类:

(1)状态码

  • 200 表示响应正确返回
  • 404 表示请求的资源不存在
  • 500 表示服务器内部出现了异常
  • 304 表示该内容没有被修改,那么服务器只会返回状态码和头,不需要返回响应体(图片,html,css,js)

(2)响应头

  • content-type:响应的内容模式,例如text/html;charset=utf-8
  • content-length:响应体的长度(字节)
  • Date:响应的生成时间

(3)响应体

html内容,图片内容

5.返回一个动态图片

6.请求转发

(1)servlet请求转发至jsp

servlet中用来处理表单请求,跳转到jsp中(请求转发)
jsp用来生成html代码并返回

request.getRequestDispatcher("jsp路径").forward(request,response);

(2)作用域传参

如何把servlet中的变量传递给jsp显示呢????
这里我们用到了作用域传参

request.setAttribute("变量名",对象);

在jsp页面怎么取作用域的值呢????
这里我们用到了EL表达式

EL表达式的格式:
${变量名}
${变量名.属性名} el表达式中的属性名对应着java 对象中的get,set方法名(去掉get/set首字母小写)
Eg:getUsername()---->username

猜你喜欢

转载自blog.csdn.net/lr1916417519/article/details/86473510
今日推荐