jsp内置对象-2

Session对象简介

session可以看做为服务器上的一个保管箱,用来保持客户端和服务端联系的持续状态。
一个用session对象实现的简单的登录功能。分为4个页面。
– login.jsp(登录表单页面)
– do_login.jsp(处理登录表单的页面)
– welcome.jsp(欢迎页面)
– loginout.jsp(退出页面)

login.jsp

<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
    <title>登录表单</title>
</head>
<body>
    <form action="do_login.jsp" method="post">
        userName:<<input type="text" name="userName" >
        password:<input type="password" name="password">
        <input type="reset" value="reset">
        <input type="submit" value="提交">
    </form>
</body>
</html>

do_login.jsp

<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%
    String userName = request.getParameter("userName");
    String password = request.getParameter("password");
    if (userName != null && password != null){
        //在session中保存用户名
        session.setAttribute("userName",userName);
        response.setHeader("refresh","2;URL=welcome.jsp");
    }
%>

welcome.jsp

<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
    <title>欢迎页面</title>
</head>
<body>
    <%--判断session对象中有没有key为userName的值,如果有如果没有则--%>
    <%if (session.getAttribute("userName") != null){%>
    欢迎:<%=session.getAttribute("userName")%>
    <a href="loginout.jsp">注销</a>
    <br>
    <%}else{%>
    请先登录
    <a href="login.jsp">登录</a>
    <%} %>

    <%--用于判断session是否为新创建的,新创建的返回true。--%>
    <%if (session.isNew()){ %>
    <br>
    欢迎新用户
    <%}else {%>
    欢迎老用户
    <%} %>
</body>
</html>

loginout.jsp

<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%
    //清除session对象
    session.invalidate();
    //跳转到界面
    response.setHeader("refresh","2;URL=welcome.jsp");
%>

application对象详解

代表当前的应用程序,他存在于当前服务器的内存空间中,应用开启就会自动生成一个application对象,如果应用没有关闭,这个application对象就会一直保持下去。application的生命周期更长。可以为用户共享全局信息。如共享当前在线用户。

<body>
当前服务器信息:<%= application.getServerInfo() %><br>
当前应用名称:<%= application.getServletContextName()%><br>
主机的名称:<%= application.getVirtualServerName()%><br>
</body>

当前页面访问次数的小示例。

<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
    <title>页面访问计数器</title>
</head>
<body>
<%
    Object obj = application.getAttribute("counter");//从application对象中获取一个counter对象
    if (obj == null){
        application.setAttribute("counter",new Integer(1));//用于将一个键值对放入application对象中。
        out.println("该页面被访问了1次<br>");
    }else {
        int counterValue = Integer.parseInt(obj.toString());
        counterValue++;
        out.println("该页面被访问了" + counterValue + "次<br>" );
        application.setAttribute("counter",counterValue);
    }
%>
</body>
</html>

config对象详解

代表当前jsp程序的配置信息,很少使用。用来配置servelet。

配置web.xml文件

<web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd"
         version="3.1">

    <display-name>JSPStudy</display-name>
    <!--servlet标签和servlet-mapping标签是配对使用的,可以自定义名称,jsp-file可以指定文件,-->
    <!--servlet-mapping中url-pattern进行url映射,这里用*通配符,表示/13/即可访问到config.jsp文件。-->
    <servlet>
        <servlet-name>config</servlet-name>
        <jsp-file>/13/config.jsp</jsp-file>
        <init-param>
            <param-name>username</param-name>
            <param-value>darkmi</param-value>
        </init-param>
        <init-param>
            <param-name>password</param-name>
            <param-value>jikexueyuan</param-value>
        </init-param>
    </servlet>
    <servlet-mapping>
        <servlet-name>config</servlet-name>
        <url-pattern>/13/*</url-pattern>
    </servlet-mapping>
</web-app>

config.jsp

<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
    <title>config对象示例</title>
</head>
<body>
    <%--获取指定的初始化信息--%>
    用户名:<%= config.getInitParameter("username")%><br>
    密码:<%= config.getInitParameter("password")%><br>
</body>
</html>

page对象详解

指向当前jsp页面本身。

<%
    out.println("page对象的字符串:" + page.toString());
    page.getClass();//返回当前的object类
    page.hashCode();//返回当前的hashCode值
    //page.equals(obj);//比较对象是否和指定对象相对   
%>
暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇