• 那些你常用的JSP知识


    脚本程序

    <> 或者,您也可以编写与其等价的XML语句,就像下面这样: <jsp:scriptlet> 代码片段 </jsp:scriptlet>任何文本、HTML标签、JSP元素必须写在脚本程序的外面。 ###中文编码问题 如果我们要在页面正常显示中文,我们需要在 JSP 文件头部添加以下代码:<>

    JSP声明

    JSP表达式

    <%@ directive attribute="value" %>


    JSP内置对象

    1.内置对象简介(web容器创建的 不需要new)

    1. 四种作用域范围
    2. out(是JSPWriter的一个实例,是向客户端输出内容常用的对象)

    void println();void clear() 清除缓冲区的内容

    1. request/response(请求与响应模式)
      5 session
    2. application
    3. 其他内置对象 


    JSP客户端请求
    当浏览器请求一个网页时,它会向网络服务器发送一系列不能被直接读取的信息,因为这些信息是作为HTTP信息头的一部分来传送的

    HTTP请求例子

    在这个例子中,我们会使用HttpServletRequest类的getHeaderNames()方法来读取HTTP信息头。这个方法以枚举的形式返回当前HTTP请求的头信息。
    获取Enumeration对象后,用标准的方式来遍历Enumeration对象,用hasMoreElements()方法来确定什么时候停止,用nextElement()方法来获得每个参数的名字

     1 <%@ page language="java" contentType="text/html; charset=UTF-8"
     2     pageEncoding="UTF-8"%>
     3 <%@ page import="java.io.*,java.util.*" %>
     4 <!DOCTYPE html>
     5 <html>
     6 <head>
     7 <meta charset="utf-8">
     8 <title>菜鸟教程(runoob.com)</title>
     9 </head>
    10 <body>
    11 <h2>HTTP 头部请求实例</h2>
    12 <table width="100%" border="1" align="center">
    13 <tr bgcolor="#949494">
    14 <th>Header Name</th><th>Header Value(s)</th>
    15 </tr>
    16 <%
    17    Enumeration headerNames = request.getHeaderNames();
    18    while(headerNames.hasMoreElements()) {
    19       String paramName = (String)headerNames.nextElement();
    20       out.print("<tr><td>" + paramName + "</td>
    ");
    21       String paramValue = request.getHeader(paramName);
    22       out.println("<td> " + paramValue + "</td></tr>
    ");
    23    }
    24 %>
    25 </table>
    26 </body>
    27 </html>

    JSP服务器响应

    Response响应对象主要将JSP容器处理后的结果传回到客户端。可以通过response变量设置HTTP的状态和向客户端发送数据,如Cookie、HTTP文件头信息等。

    HTTP响应头程序示例

    <%@ page language="java" contentType="text/html; charset=UTF-8"
        pageEncoding="UTF-8"%>
    <%@ page import="java.io.*,java.util.*" %>
    <!DOCTYPE html>
    <html>
    <head>
    <meta charset="utf-8">
    <title>菜鸟教程(runoob.com)</title>
    </head>
    <body>
    <h2>自动刷新实例</h2>
    <%
       // 设置每隔5秒自动刷新
       response.setIntHeader("Refresh", 5);
       // 获取当前时间
       Calendar calendar = new GregorianCalendar();
       String am_pm;
       int hour = calendar.get(Calendar.HOUR);
       int minute = calendar.get(Calendar.MINUTE);
       int second = calendar.get(Calendar.SECOND);
       if(calendar.get(Calendar.AM_PM) == 0)
          am_pm = "AM";
       else
          am_pm = "PM";
       String CT = hour+":"+ minute +":"+ second +" "+ am_pm;
       out.println("当前时间: " + CT + "
    ");
    %>
    </body>
    </html>
     
     

    Http状态吗实例

     
     1 <html>
     2 <head>
     3 <title>Setting HTTP Status Code</title>
     4 </head>
     5 <body>
     6 <%
     7    // 设置错误代码,并说明原因
     8    response.sendError(407, "Need authentication!!!" );
     9 %>
    10 </body>
    11 </html>

    Get获取URL

     1 <%--
     2   Created by IntelliJ IDEA.
     3   User: tangwei9
     4   Date: 2017/7/14
     5   Time: 10:22
     6   To change this template use File | Settings | File Templates.
     7 --%>
     8 <%@ page contentType="text/html;charset=UTF-8" language="java" %>
     9 <%@ page import ="java.io.*,java.util.*"%>
    10 <html>
    11 <head>
    12     <title>GET方式请求实例</title>
    13 </head>
    14 <body>
    15 <h1>Get方式获取URL</h1>
    16 <u1>
    17     <li><p><b>站点名</b>
    18     <%= request.getParameter("name")%>
    19     </p>></li>
    20 21     <li><p><b>网址名</b>
    22     <%= request.getParameter("url")%>
    23 24     </p>></li>
    25 26 </u1>
    27 </body>
    28 </html>
    29   

    设置Cookie

     
    <%
        String str  = URLEncoder.encode(request.getParameter("name"),"utf-8");
    ​
        // 设置 name 和 url cookie
        Cookie name = new Cookie("name",str);
    ​
        Cookie url = new Cookie("url",request.getParameter("url"));
    ​
        //设置Cookie的时间为1天
    ​
        name.setMaxAge(60*60*24);
        name.setMaxAge(60*60*24);
    ​
        //在响应头添加Cookie
    ​
        response.addCookie(name);
        response.addCookie(url);
    ​
    ​
    ​
    %>

    读取Cookie

     1 <%@ page language="java" contentType="text/html; charset=UTF-8" 
     2 pageEncoding="UTF-8"%> 
     3 <%@ page import="java.net.*" %> 
     4 
     5 <% 
     6 Cookie cookie = null; 
     7 Cookie[] cookies = null; 
     8 // 获取cookies的数据,是一个数组 
     9 cookies = request.getCookies(); 
    10 if( cookies != null ){ 
    11 out.println(""); 
    12 
    13 for (int i = 0; i < cookies.length; i++){ 
    14 cookie = cookies[i];
    15      out.print("参数名 : " + cookie.getName());
    16      out.print("<br>");
    17      out.print("参数值: " + URLDecoder.decode(cookie.getValue(), "utf-8") +" <br>");
    18      out.print("------------------------------------<br>");
    19   }
    20 }else{ 
    21 out.println("没有发现 Cookie"); } 
    22 
    23 %> 

    删除Cookie

     1 <%@ page language="java" contentType="text/html; charset=UTF-8" 
     2 pageEncoding="UTF-8"%> 
     3 <%@ page import="java.net.*" %> 
     4 
     5 <% 
     6 Cookie cookie = null; 
     7 Cookie[] cookies = null; 
     8 // 获取当前域名下的cookies,是一个数组 
     9 cookies = request.getCookies(); 
    10 if( cookies != null ){ 
    11 out.println("查找 Cookie 名与值");for (int i = 0; i < cookies.length; i++){ cookie = cookies[i]; 
    12 
    13 if((cookie.getName( )).compareTo("name") == 0 ){ 
    14 cookie.setMaxAge(0); 
    15 response.addCookie(cookie); 
    16 out.print("删除 Cookie: " + 
    17 cookie.getName( ) + "); 
    18 "
    19 } 
    20 out.print("参数名 : " + cookie.getName()); 
    21 out.print(""); 
    22 
    23 out.print("参数值: " + URLDecoder.decode(cookie.getValue(), "utf-8") +" "); 
    24 
    25 out.print("------------------------------------"); 
    26 
    27 } 
    28 }else{ 
    29 out.println("没有发现 Cookie"); 
    30 
    31 } 
    32 %> 
    33 
    34  

    JSP Session

     1 <%@ page language="java" contentType="text/html; charset=UTF-8" 
     2 pageEncoding="UTF-8"%> 
     3 <%@ page import="java.io.,java.util." %> 
     4 <% 
     5 // 获取session创建时间 
     6 Date createTime = new Date(session.getCreationTime()); 
     7 // 获取最后访问页面的时间 
     8 Date lastAccessTime = new Date(session.getLastAccessedTime());
     9 
    10 String title = "再次访问菜鸟教程实例"; 
    11 Integer visitCount = new Integer(0); 
    12 String visitCountKey = new String("visitCount"); 
    13 String userIDKey = new String("userID"); 
    14 String userID = new String("ABCD");
    15 
    16 // 检测网页是否由新的访问用户 
    17 if (session.isNew()){ 
    18 title = "访问菜鸟教程实例"; 
    19 session.setAttribute(userIDKey, userID); 
    20 session.setAttribute(visitCountKey, visitCount); 
    21 } else { 
    22 visitCount = (Integer)session.getAttribute(visitCountKey); 
    23 visitCount += 1; 
    24 userID = (String)session.getAttribute(userIDKey); 
    25 session.setAttribute(visitCountKey, visitCount); 
    26 } 
    27 %> 

    文件上传代码

    http://www.runoob.com/jsp/jsp-file-uploading.html

    重定向百度代码

    1 <%
    2     String site = new String("http://www.baidu.com");
    3     response.setStatus(response.SC_MOVED_TEMPORARILY);
    4     response.setHeader("Location",site);
    5 6 %> 

    访问量统计

    <%
            Integer count = (Integer) application.getAttribute("count");
            if(count == null || count == 0){
                out.print("<br>第一次访问</br>");
                count = 1;
            }else
            {
                out.print("欢迎访问本站");
             count++;
            }
            application.setAttribute("count",count);
    %>
    <p>页面的访问量为:<%= count%></p>>
     
     
    发送邮件

    http://www.runoob.com/jsp/jsp-sending-email.html

    JSP操作数据库

    http://www.runoob.com/jsp/jsp-database-access.html

     

  • 相关阅读:
    虚拟环境- virtualenvwrapper
    数据库可视化工具--DBeaver
    关于数据库 SQL 语句性能优化的52 条 策略。
    软件安全测试点以及测试方法
    常用功能-添加、修改功能测试点
    这些自动化测试框架知识你还不知道?
    Postman接口功能测试介绍
    python+SMTP发送邮件测试报告
    数据库经典查询语句与练习题
    Selenium 功能总结大集合
  • 原文地址:https://www.cnblogs.com/arsense/p/7457149.html
Copyright © 2020-2023  润新知