博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
jsp笔记
阅读量:6369 次
发布时间:2019-06-23

本文共 2134 字,大约阅读时间需要 7 分钟。

jsp语法

<% %>java 代码块<%= %>java表达式
类声明jsp的初始化需要在类声明中重写jspInit方法public void jspInit(){ // 初始化代码}

jsp导入页面

  • jsp静态导入页面
<%@include file="1.jsp"%>                    
  • jsp动态的导入页面
    被加载的页面通过 request.getParameter(""); 获取参数

请求转发与重定向

  • 页面转发 服务端跳转服务器页面跳转

特点

  • 地址栏不会变
  • 请求参数不会丢
  • 浏览器发出一次请求,得到一次响应
request.getRequestDispatcher("1.jsp").forward(request,response);*
2. 
  • 重定向 客户端跳转(服务器状态码:302)

    特点

  • 地址栏会变
  • 请求参数丢失
  • 浏览器发出二次请求,得到二次响应

<%response.sendRedirect("2.jsp");%>

无论是RequestDispatcher.forward 方法,还是HttpServletResponse.sendRedirect方法,在调用它们之前,都不能有出到了客户端。如果缓冲区中已经有了一些内容,这些内容已经被实际输内容将被从缓冲区中清除。

jsp的四大作用域

  • pageContext 作用域当前页
  • request 作用域一次请求中
  • session(会话) 作用域再一次会话中
  • application 作用域应用程序中

方法:

  • setAttribute 添加数据("key","vakye")
  • getAttribute 获取数据("key")
  • removeAttribute 删除数据("key")

jsp中的9个内置类

1. repuest -请求 -javax.servlet.http.HttpServletRequest

解决中文乱码的方式

post

post  request.setCharacterEncoding("UTF-8");       setCharacterEncoding("UTF-8");

get

URLEncoder.encode("str","编码格式");//对字符串编码URLDecoder.decode("str","解码格式");//对字符串解码

jsp静态资源访问

request.getContextPath(); //返回项目web的根目录 /web

传递参数

request.setAttribute("String",Object);
2. response
-响应    -javax.servlet.http.HttpServletResponse
3. session
-会话    -javax.servlet.http.HttpSession
4. out -输出信息 - javax.servlet.jsp.JspWriter
5. pageContest -当前页面 -javax.servlet.jsp.PageContext
6. application -应用程序 -javax.servlet.ServletContext
7. config -配置 -javax.servlet.ServletConfig
8. exception -异常
9. page -相当于this

jsp:Cookie

  • Cookie 不支持中文 所以在存储中文的信息时 需要进行编码
  • 一个cookie只能以key(String)-value(String)的形式 存储一条信息
  • 创建一个新的cookie:
Cookie cookie = new Cookie("username",
  • 设置cookie的生命周期:
cookie1.setMaxAge(int i);i = 0 : 代表立即删除i > 0 : 代表存在i秒的时间i < 0 : 代表会话结束后结束(默认)
  • 添加cookie:response.addCookie(cookie2);
  • 获取cookie:Cookie[] cookies = request.getCookies();]]
//获取请求头信息Enumeration
handerNames = request.getHeaderNames();while(handerNames.hasMoreElements()){ String name = handerNames.nextElement(); String value = request.getHeader(name);}

转载于:https://www.cnblogs.com/yuing/p/8603032.html

你可能感兴趣的文章
模板小例子
查看>>
告诉你html5比普通html多了哪些东西?
查看>>
十倍交叉验证 10-fold cross-validation
查看>>
Windows无法删除文件 提示找不到该项目怎么办
查看>>
js 数组
查看>>
R语言中的字符串处理函数
查看>>
平方和公式
查看>>
【Unity游戏开发】浅谈 NGUI 中的 UIRoot、UIPanel、UICamera 组件
查看>>
内存模型
查看>>
table边框设置
查看>>
IOS开发之实现App消息推送(最新)
查看>>
C++ 资源管理之 RAII
查看>>
UVA11234 Expressions
查看>>
博文参考:Java编程中“为了性能”尽量要做到的一些地方
查看>>
【JAVASCRIPT】jquery实现ajax无刷新评论
查看>>
flex---->MXML语法
查看>>
OpenCV学习笔记(30)KAZE 算法原理与源码分析(四)KAZE特征的性能分析与比较...
查看>>
linux内核模块编译
查看>>
【数据存储】操作资源文件
查看>>
数字信号处理之低通滤波器设计
查看>>