JSP-内置对象

本文详细介绍了JavaWeb编程中Out对象用于页面输出数据,Request对象处理客户端数据,Response对象处理服务端响应,以及Session对象用于管理会话过程。通过实例展示了这些对象在登录验证、页面跳转和会话管理中的应用。
摘要由CSDN通过智能技术生成
  • Out对象

作用:用来给页面输出数据。

主要方法:

Print(string)    </br>换行

Println(string)  方法同上

<%@page language="java" contentType="text/html;charset=UTF-8"%>
<html>
    <head>
        <title>test.jsp</title>
    </head>
    <body>
        <%
            out.print("我是out对象输出的内容!");
            out.print("<br/>");
            out.print("我是out对象输出的内容!");
        %>
    </body>
</html>

  • Request对象

作用:用来处理客户端发送的数据。

主要方法

1.getParameter();

获取表单数据

2.getRemoteAddr()

获取客户端ip地址

3.getServerPort()

获取服务端端口号

login.jsp文件 

<%@page language="java" contentType="text/html;charset=UTF-8"%>
<html>
    <head>
        <title>login.jsp</title>
    </head>
    <body>
        <form action="check.jsp" method="post">
        用户名:<input type="text" name="user"><br/>
        密码:<input type="password" name="pass"><br/>
        <input type="submit" name="登录"/></br>
        </form>
    </body>
</html>

check.jsp

<%@page language="java" contentType="text/html;charset=UTF-8"%>
<html>
    <head>
        <title>check.jsp</title>
    </head>
    <body>
        <%
            //处理中文乱码
            //方法一
            //request.setCharacterEncoding("UTF-8");
            //方法二
            String user = request.getParameter("user");
            byte[] b = user.getBytes("iso-8859-1");
            user = new String(b,"UTF-8");

            String pass = request.getParameter("pass");
            String addr = request.getRemoteAddr();
            int port = request.getServerPort();
        %>
        用户名:<%=user%><br/>
        密码:<%=pass%><br/>
        客户端地址:<%=addr%><br/>
        服务端端口号:<%=port%>

    </body>
</html>

运行结果: 

response对象 

作用:用来处理服务端响应给客户端浏览器的数据。

 主要方法:

1.setContentType(string);

   设置响应给客户端浏览器的文档类型

response.setContentType("application/msword");

设置文档类型为word程序打开的文档

2.setHeader(name,value)

   设置响应给客户端文档的头部数据

3.sendRedirect(addr)

   访问重定向,将客户端对当前页面的访问重新定向至新页面地址

server.jsp

<%@page language="java" contentType="text/html;charset=UTF-8"%>
<html>
    <head>
        <title>server.jsp</title>
    </head>
    <body>
        <%
            //设置文档类型为word程序打开的文档
            //response.setContentType("application/msword");

            response.setHeader("refresh","5; url=login.jsp");
            String user = request.getParameter("user");
            String pass = request.getParameter("pass");
            String addr = request.getRemoteAddr();
            int port = request.getServerPort();
        %>
        用户名:<%=user%><br/>
        密码:<%=pass%><br/>
        客户端地址:<%=addr%><br/>
        服务端端口号:<%=port%>

    </body>
</html>

check.jsp 

<%@page language="java" contentType="text/html;charset=UTF-8"%>
<html>
    <head>
        <title>check.jsp</title>
    </head>
    <body>
        <%
            response.sendRedirect("server.jsp");
        %>
        //<jsp:forward page="server.jsp" />
    </body>
</html>

seeesion(会话对象) 

作用:用来管理和客户端的一次会话过程

主要方法:

getId:获取session对象的id号,该号码唯一标识一次会话。

客户端访问服务端多个页面时,其关联session对象是不变的,其id号是相同的。

a.jsp 

<%@page language="java" contentType="text/html;charset=UTF-8"%>
<html>
    <head>
        <title>a.jsp</title>
    </head>
    <body>
        <%
            out.print("我是a页面,我的session id是:" +"<br/>");
            String sid = session.getId();
            session.invalidate();
            out.print(sid);
        %>
        <a href="b.jsp">转至b.jsp页面</a>
    </body>
</html>

b.jsp  

<%@page language="java" contentType="text/html;charset=UTF-8"%>
<html>
    <head>
        <title>b.jsp</title>
    </head>
    <body>
        <%
            out.print("我是b页面,我的session id是:" +"<br/>");
            String sid = session.getId();
            out.print(sid);
        %>
        <a href="a.jsp">转至a.jsp页面</a>
    </body>
</html>

页面结果如下: 

注意:session对象在如下情况下,id号会发生变化

 1.客户端关闭了浏览器,又重新打开

 2.session对象到达了失效期

 3.服务器主动调用了invalidate方法令其失效。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值