Servlet服务器端程序

HttpSession使用

首先:新建一个Servlet,名为:UserHttpSession.java 内容为:

     //使用HttpServletRequest对象从客户端获取数据

            String name = request.getParameter("name");

            String age = request.getParameter("age");

            String phonenum = request.getParameter("phonenum");

            String address = request.getParameter("address");

            String othermessage = request.getParameter("othermessage");

            //获取HttpSession对象

            HttpSession session = request.getSession();

            //用获取的值设置session属性

            session.setAttribute("sesname",name);

            session.setAttribute("sesage",age);

            session.setAttribute("sesphonenum",phonenum);

            session.setAttribute("sesaddress", address);

            session.setAttribute("sesothermessage",othermessage);

            out.println("<html>");

            out.println("<head>");

            out.println("<titile>使用HttpSession</title>");

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

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

            out.println("<body>");

            out.println("<h3>已经将数据保存在HttpSession</h3>");

            out.println("<h3>可以在其他页面中访问这些数据</h3>");

            out.println("<a href=/"ShowSessionInfo.jsp/">查看会话信息</a>");

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

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

 

其中web.xml内容为:

<servlet>

        <servlet-name>UseHttpsession</servlet-name>

        <servlet-class>com.netbeans.web.UseHttpSession</servlet-class>

        </servlet>

      <servlet-mapping>

        <servlet-name>UseHttpsession</servlet-name>

        <url-pattern>/UseHttpSession</url-pattern>

    </servlet-mapping>

 

1、  web中新建一个html页面,是负责输入数据的页面createinfo.html

<html>

  <head>

    <title>该页面用来向表单提供数据</title>

    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">

  </head>

  <body>

      <form action="UseHttpSession" name="myform" method="post">

          姓名:<input type="text" name="name"><br>

          年龄:<input type="text" name="age"><br>

          住址:<input type="text" name="address"><br>

          电话号码:<input type="text" name="phonenum"><br>

          备注信息:<br>

          <textarea name="othermessage" rows="4" cols="30"></textarea>

          <input type="submit" value="确定">

      </form>

  </body>

</html>

2、  web创建一个jsp文件,用于接收html页面传来的数据,

这个jsp文件名:ShowSessionInfo.jsp

<%@page contentType="text/html" pageEncoding="gb2312"%>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"

   "http://www.w3.org/TR/html4/loose.dtd">

<h2>以下是从seesion中获取的信息</h2>

<h3><%

//获取sesname属性的值

String name=(String)session.getAttribute("sesname");

//获取sesage属性的值

String age = (String)session.getAttribute("sesage");

//获取sesphonenum属性的值

String phonenum = (String)session.getAttribute("sesphonenum");

//获取sesaddress属性的值

String address = (String)session.getAttribute("sesaddress");

//获取sesothermessage属性的值

String othermessage =(String)session.getAttribute("sesothermessage");

out.println("<br>姓名:"+name);

out.println("<br>年龄:"+age);

out.println("<br>地址"+address);

out.println("<br>电话"+phonenum);

out.println("<br>备注信息"+othermessage);

%>

</h3>

值得说明的是:其实,在html输入的数据是直接传到了Servlet中去(即上面那个java类中),然后,数据被保存在这里面,随时都可以使用,但是,因为Session的特性(会随着页面的关闭而关闭Session,即关闭了传来的数据,所以,当我们html输入数据后传到了Servlet中后,如果关闭了,则在jsp文件中是无法获得刚才的数据的。所以不能关闭,或者是在Servlet中有个连接到这个jsp文件,这样,可以通过连接到这个jsp文件,也就可以获取到数据)

Session随着页面的关闭,数据也就无法再传输了。于cookies的区别,是,

运行结果为:

Html文件的内容:

然后,我们所写的Servlet可以获取这些信息并保存起来,

 

可以在查看会话信息活的下面的jsp页面信息,也可以,接着在NetBeans中打开jsp页面,且保证不把上述的页面关闭。

Sessioncookie的区别:

session是放在服务器上的,过期与否取决于服务器的设定,cookie是存在客户端的,过去与否可以在cookie生成的时候设置进去。
1
cookie数据存放在客户的浏览器上,

session
数据放在服务器上

2
cookie不是很安全,别人可以分析存放在本地的COOKIE并进行COOKIE欺骗

考虑到安全应当使用
session
3
session会在一定时间内保存在服务器上。当访问增多,会比较占用你服务器的性能

考虑到减轻服务器性能方面,应当使用
COOKIE
4
、单个cookie在客户端的限制是3K,就是说一个站点在客户端存放的COOKIE不能3K

5
300个的限制我没听说

6
、所以个人建议:

将登陆信息等重要信息存放为
SESSION
其他信息如果需要保留,可以放在COOKIE

另外一个小技巧,一般,如果我们在文本框中写了数据后,有时候发现是可以双击文本框,下方会有之前输入的内容,其实,这是对浏览器的设置,在浏览器的菜单》工具IE选项》选中“内容”》选择自动完成》打开后,可以选中表单,这样就可以设置完成

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值