jsp 获取页面元素java_Javaweb学习笔记6 jsp页面元素

1. jsp页面元素

a。脚本

1.  定义局部变量

2.定义全局变量以及方法

3. 输出表达式(无分号,因为不是输出语句,而是表达式)

4.指令有很多种,

-page指令 位置  写在网页开始  属性有 language jsp                                                                            import pageEncoding contentType

- include指令 taglib指令

5. html 在浏览器源代码中可见

// /* */ java

2 jsp内置对象

该对象不用new即可使用。有九大内置对象

2.1 out 向客户端输出内容

2.2 request 请求对象 存储 客户端向服务端发送的请求信息

常见方法 2.2.1 String getParameter(String name) 根据请求的字段名返回字段值

2.2.2 getParameterValues   返回数组,常用chatbox

2.2.3 void setCharacterEncoding(" utf-8") 设置请求编码。对方解析时需要知道你是什么编码。如果不设置则跟着tomcat默认。在tomcat7 以及7以前默认ISO-8859-1,之后默认utf-8

2.2.4 getRequestDispatcher("a.jsp").forward(); 请求转发

2.2.5 getServerContext() :获取项目的ServletContext对象

2.3response  响应对象,封装响应信息

void addCooike(Cookie cookie )服务端向客户端增加一个cookie对象

void  sendRedirect(String location ) throws IOException :页面跳转的一种方式

void setContextType(String type):设置服务端响应编码(设置服务端content type类型)

//response.sendRedirect("succees.jsp");重定向会导致数据丢失

//重定向是response提供的

//转发是request提供的,数据保留,并且地址栏没有改变,仍然保留转发时的页面

request.getRequestDispatcher("succees.jsp").forward(request, response);

请求转发和重定向的区别         请求转发               重定向

地址栏是否改变        不改变(check.jsp)    改变(succees.jsp)

是否保留第一次请求时的数据       保留(内部转移数据安全) 不保留

请求的次数          一次(地址栏都不变)   两次(不保留必然两次)

2.4 session

session 存放于客户端(是内置对象,使用不用new),

而cookie存在于客户端(不是内置对象,使用需要new)作用 提高访问效率,但是安全性较差cookie 就是key:value。cookie是是由javax.servlet.http.cookie 类产生的

构造方法 publlic Cookie(String key,String value)

String getName():获取name

String getValue()获取value

coid setMaxAge(int expiry) 设置最大有效期,单位是秒

cookie 是由服务端产生的,由服务端给予客户端。

相当于本地缓存的作用,服务端发送给客户端

添加cookie   response.addCookie(Cookie cookie )

转发cookie(转发,重定向)

获取cookie request.getCookies()

增加cookie是response,获取是request

Cookie cookie = new Cookie()

压着ctrl键进去,发现该类是public class javax.servlet.http.Cookie implements java.lang.Cloneable, java.io.Serializable

a. 服务端增加cookie :response对象,客户端获取对象:request对象

b.不能直接获取某一个单独对象,只能一次性将所有的cookie对象拿到,

通过F12可以发现,除了自己设置的Cookie对象外,还有一个名为JSESSION的Cookie

2.5pageContext

2.6application

2.7config

2.8page

2.9expection

用out.println不会新起行,新行要用

超级痛苦的是和教学上打的一样,但我的代码就无法运行成功。

解决办法:清除服务器缓存

重启服务器(谁给我说劳资的jsp修改也需要重启!)

如果先打然后在里面写了一堆(包含了方法),最后加了“!”变成也会报错,因为这个!并没有加上去,请在开始创建时直接加。

检查URL,看路径是否正确

默认,method="get ", 地址栏,超链接都是 get方式 get方式可以在地址栏看到参数(不安全)。地址栏能传送的信息大小有限,有4--5kb,图片音频视频因为太大而报错。

method="post"  .该方式在地址栏不显示。(推荐使用)

出现乱码时先分清是get 方法还是post方法

如果是get方式有两种方法

1.0

String name = request.getParameter("uname"); 这种方法即使设置了UTF-8也读取的是乱码,因为Tomcat是7.0,默认是ISO类的编码,所以无法识别。

int age = Integer.parseInt(request.getParameter("uage")); 可以强制将返回show.jsp页面的变量转换成utf-8格式

缺点是很麻烦,每个变量都要修改

2.0

第二个方法:修改serve.xml

在修改端口号的位置新增加,URIEncoding= "UTF-8"

如果是post方式

1.0

request.setCharacterEncoding("utf-8");这一行是解决post乱码的代码

半下午耗这里,表示计算机狗伤不起。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值