Java Web 应用程序开发(页面构成)

1.指令标记-Page

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
  • 1.contentType属性
    设置文件类型和jsp页面字符编码

  • 2.import属性
    导入java库中的类

  • 3.language属性
    定义jsp所使用的脚本语言,该属性目前取值只能是"java"

2.include

  • 1.指令标记-include
<%@  include file="文件的URL"%>

在该指令处静态插入文件:将被插入页面代码片加到插入页面内,一起编译,生成一个文件。(注意:由于需要同时编译,所以两个JSP页面必须具有相同的语法规则)

  • 2.动作标记-include
<jsp:include page="文件的URL" />

与指令标记功能相同,但是动作标记是在被插入文件单独运行后,将运行的结果直接插入,故不需要将两个JSP文件语法同意。运行后会多生成一个被插入文件

3.动作标记-Forward

<jsp:forward page="要转向的页面">

停止当前JSP页面的执行,转向page所指向的页面(注意:页面转向后,浏览器中显示的还是原JSP页面的URL)

4.内置对象-Request

<from action="JSP页面" method=get|post >  </from>

action:接受表单提交的对象
method:get和post功能相同,post保密性更好,不会将提交的信息显示在地址栏中
通过form表单向服务器JSP提交信息

  • RequestTest.jsp
<body>
<form action="Request.jsp" method=post> 
    <table>
        <tr>
            <td>
                 用户名:
            </td>
            <td>
                <input type=text name=name>
            </td>
        </tr>
        <tr>    
            <td>
                 密码:
            </td>
            <td>
                <input type=password name=password>
            </td>
        </tr>
        <tr>
            <td>
                <input type="submit" value=提交数据 >
            </td>
        </tr>
    </table>
</form>
</body>
  • Request.jsp
<% 
    request.setCharacterEncoding("utf-8");    //request方法,对接受到的数据编码转换
    String name=request.getParameter("name");
    String ps=request.getParameter("password");
    out.println("用户名:"+name);
    out.println("密码:"+ps);
%>

5.内置对象-response

  • 例:response根据判断语句进行页面重定向
<% 
    request.setCharacterEncoding("utf-8");
    String name=request.getParameter("name");
    if(name==null || name.length()==0){
     response.sendRedirect("ResponseTest.jsp");
    }
%>

与request相对,接受JSP客户端发送的信息,response做出响应返回给客户端

6.内置对象-session

用户访问服务器时,会被分配一个唯一的session会话对象,用户在一定时间内访问其他页面时,session对象会记录用户信息来辨认用户身份,来达到用户能在不同页面使用同一个身份操作的目的。session的生命周期从用户访问服务器时开始,直到用户离开。

  • SessionTest01.jsp
<% SimpleDateFormat time=new SimpleDateFormat("YYYY年MM月dd日HH:mm:ss");
   Date date=new Date(session.getCreationTime());
   session.setAttribute("usename","zhan");
   session.setMaxInactiveInterval(20);
%>
Session创建时间:<%= time.format(date) %> <br>
Session中获取的用户名:<%= session.getAttribute("usename") %>  <br>
Session的ID编号:<%= session.getId() %> <br>
<a href="SessionTest02.jsp">跳转到SessionTest02.jsp</a>
  • SessionTest02.jsp
Session中获取的用户名:<%=session.getAttribute("usename") %> <br>
Session的ID编号:<%=session.getId() %> <br>

需要导入java.util库和java.text库
session.setAttribute():设置session属性
session.setMaxInactiveInterval():设置最大待机时间,若在设置时间内,用户没有操作,下次使用会产生新的session对象。默认时间为30分钟。
session.getId():获取sessionID

7.内置对象-application

web服务启动时,会生成一个application对象,每个web页面有独立的application对象,并且用户可以共享这个对象。application的生命周期随web服务的启动而产生,直到服务器关闭。

扫描二维码关注公众号,回复: 15509718 查看本文章
  • 循环输出application属性(有自带的和新创建的属性)
<% 
    application.setAttribute("username","zhan");
    application.setAttribute("password","123");
    application.setAttribute("e-mail","[email protected]");
%>
用户名:<%= application.getAttribute("username") %> <br>
application中的属性:<%
    Enumeration attributes;  //Enumeration java接口类
    attributes=application.getAttributeNames();
    while (attributes.hasMoreElements()){
     out.println(attributes.nextElement()+"&nbsp;&nbsp;");
    }
%>

8.内置对象-out

<% 
    out.println("Hello");
    out.clearBuffer();
    out.println("World");
%>

out,clearBuffer():清除缓冲区内容

猜你喜欢

转载自blog.csdn.net/qq_43743088/article/details/106063915