JSP学习中的问题总结

乱码问题

  • get和post提交中文,在使用request接受时出现乱码:
 request.setCharacterEncoding("utf-8");
  • 用URL传参中使用中文参数,用request接受出现乱码,用上面的设置字符编码方式无法解决,需要在tomcat目录下的conf中的server.xml中修改标签,为其增加一个属性:
URIEncoding="utf-8"

修改了配置文件,服务器必须重启才能生效。

  • 在cookie中保存中文乱码问题: 使用java.net.*包,比如用户名username有中文,则设置
String username = URLEncoder.encode(request.getParameter("username"),"utf-8");

在之后用到cookie中的username时,需要解码,使用如下代码:

username = URLEndoder.decode(c.getValue(),"utf-8");
//c为一个cookie

session问题

session的生命周期 活动:

  • 某次会话当中通过超链接打开的新页面属于同一次会话
  • 只要当前会话页面没有全部关闭,重新打开新的浏览器窗口访问同意项目资源时属于同一次会话。
  • 除非本次会话的所有页面都关闭后再重新访问某个新的jsp或者servlet将会创建新的会话。

注意事项:

  • 注意原有的会话还存在,只是这个旧的sessionId仍然存在于服务器端,只不过再也没有客户端会携带它然后交予服务器端校验。也就是说,新会话的建立并不代表着就回话的销毁。

session销毁的三种方式:

  • 调用session.invalidate()方法
  • session过期(超时)
  • 服务器重新启动

设置session超时的两种方式:

  • tomcat默认session超时时间为30分钟
  • 1:session.setMaxInactiveInterval(时间);//单位是秒
  • 2:在web.xml配置
<session-config>
<session-timeout>
10
<session-timeout>
<session-config> //单位是分钟
用request内置对象实现转发:

request.getRequestDispatcher(“url”).forward(request,response)

用request内置对象实现重定向:

response.sendRedirect(“url”)

Javabean:

设计原则:

  • 公有类
  • 无参的公有构造方法
  • 属性私有
  • getter和setter方法
保存用户状态的两大机制:
  • session(内置对象)
  • cookie(web服务器保存在客户端 的一系列文本信息)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值