zoukankan      html  css  js  c++  java
  • JSP-05- JSP总结

    1   客户端请求新页面 

    <%@ page language="java" contentType="text/html; charset=UTF-8"

        pageEncoding="UTF-8"%>

    <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">

    <html>

    <head>

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

    <title>Insert title here</title>

    <script type="text/javascript">

    function fun(){

             var uid = document.getElementById("uid").value;

             if(uid == ""){

                       alert("请输入数据");

                       return false;

             }else{

                       return true;

             }

    }

    </script>

    </head>

    <body>

             <!-- 链接到page2 -->

             <a href="page2.jsp">链接到page2</a><br>

             <!-- 链接到page2,弹出新窗口 -->

             <a href="page2.jsp" target="_blank">链接到page2</a><br>

             <!-- 相对路径链接到page2 -->

             <a href="./page2.jsp">链接到page2</a><br>

             <a href="../demo1/page2.jsp">链接到page2</a><br>

             <!-- 绝对路径链接到page2 -->

             <a href="http://localhost:8080/web1/demo1/page2.jsp">链接到page2</a><br>

             <a href="<%=request.getContextPath() %>/demo1/page2.jsp">链接到page2</a><br>

             <!-- 链接到page2,并传参 -->

             <a href="page2.jsp?uid=admin">链接到page2</a><br>

             <!-- 使用js链接到page2 -->

             <a href='javascript:window.location="page2.jsp";'>链接到page2</a><br>

             <!-- 使用js链接到page2,并传参 -->

             <a href='javascript:window.location="page2.jsp?uid=admin";'>链接到page2</a><br>

             <!-- 使用js链接到page2,弹出新窗口,并传参 -->

             <a href='javascript:window.open("page2.jsp?uid=admin");'>链接到page2</a><br>

             <!-- submit提交表单 -->

             <form action="page2.jsp" method="post">

                       <input type="text" name="uid">

                       <input type="submit" value="提交">

             </form>

             <!-- 验证后提交表单 -->

             <form action="page2.jsp" method="post">

                       <input type="text" name="uid" id="uid">

                       <input type="submit" value="验证后提交表单" onclick="return fun()">

             </form>

             <!-- url方式提交数据 -->

             <form action="page2.jsp?uid=admin" method="post">

                       <input type="text" name="uid">

                       <input type="submit" value="提交">

             </form>

             <!-- hidden方式提交数据 -->

             <form action="page2.jsp" method="post">

                       <input type="hidden" name="uid2" id="uid2" value="admin">

                       <input type="submit" value="提交">

                       <script type="text/javascript">

                                document.getElementById("uid2").value = "admin22222";

                       </script>

             </form>

             <!-- button+js提交表单 -->

             <form id="form1" action="page2.jsp" method="post">

                       <input type="text" name="uid">

                       <input type="button" value="提交" onclick='document.getElementById("form1").submit();'>

             </form>

             <!-- <a>+js提交表单 -->

             <form id="form2" action="page2.jsp" method="post">

                       <input type="text" name="uid">

                       <a href='javascript:document.getElementById("form2").submit();'>提交表单</a>

             </form>

    </body>

    </html>

    5.2   中文乱码解决方法  

       详见文档

    1. 设置工作空间的编码集

     

    1. 设置JSP脚本的编码格式

     

    1. 对请求的参数进行封装重构编码 (此方法适用于请求和响应)

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

      xing = new String(xing.getBytes("ISO-8859-1"),"utf-8");

      这种方法很费事,当变量极少时可以考虑用这种方式。

    1. 设置服务器的编码

    添加 URlEncoding=”utf-8’  (此方法对get提交的方式有效)

     

    1. 对post方式提交的数据

    Request.setCharacterEncoding(“utf-8”);   //获取参数前

    1. Cookie默认不支持中文

    <%

    Cookie c = new Cookie("name","张曼");

    response.addCookie(c);

    %>  此时页面可能会出现500错误,但不决对。

    需要在存放和获取的时候进行编码:

    <%

    Cookie c = new Cookie("name",URLEncoder.encode("张曼"));

    response.addCookie(c);

    %>

    <%

      String name = "";

      Cookie[] cook = request.getCookies();

      if(cook != null)

      {

               for(Cookie c : cook){

                         if(c.getName().equals("name")){

                                  name = URLDecoder.decode(c.getValue());

                         }

               }

      }

      out.println("<br/>cookie的值为: " + name);

    %>

    5.3 过滤器处理乱码

    详见下文的过滤器

    5.4  隐式对象

     是Web容器加载的一组类的实例,不想一般的java对象那样用 new  去获取实例,而是直接在JSP 页面使用的对象。

     

    Ø  输入和输出对象

      Request

      表示客户端的请求,包含了所有的请求信息。

       String  getParameter(String name) : 根据请求页面表单组件名称获取请求页面提交的数据

       String[] getparameterValues:  获取页面请求中一个表单组建对应多个值时的用户的请求数据。(例如复选框)

      getRemoteAddr()  返回发送请求的主机的网络地址

      getRequestURL()  请求的URL

      Response

      处理JSP生成的响应,然后将响应结果发送给客户端。

      void setContentType(String name): 设置作为响应生成的内容的类型和字符编码

     void  sendRedirect(String): 请求的另一个URL

      out

    表示信息的输出 

    Print()  println()  write()

    Ø  作用域通信对象

      Session

    表示用户的会话状况,用此机制可以轻易识别每一个用户,能保存和跟踪用户的会话状态。 (例如,购物车)。

    Void SetAttribute(String name,Object value);

    Void getAttribute(String name);

      Application

    作用的范围比session更大,不仅仅是在同一个窗口,而是作用在整个应用程序,所有客户端窗口都可以共享该对象,从服务器启动开始就存在,直到服务器关闭为止。他是 ServletContext的对象(全局)

    方法同 session

      pageContext

    使用户可以访问页面作用域中定义的所有隐式对象。

    方法同 session

    Ø  Servlet对象

      page

    提供对网页上定义的所有对象的访问。Page对象表示页面本身,它是 java.lang.Object类的一个实例。 (很少用到)

    <%= ((javax.servlet.jsp.HttpJspPage)page).getServletInfo() %>

      config

    存储servlet的一些初始化信息(很少用到)

    Ø  错误对象

    只提供了一个 exception的错误对象,利用exception对象处理执行过程中引发的异常。

  • 相关阅读:
    vue2.0 之 douban (二)创建自定义组件tabbar
    vue2.0 之 douban (一)框架搭建 及 整体布局
    react-navigation
    react-native modal
    javascript-使用el表达式获取后台传递的数据
    java Map
    java List集合
    javascript 自定义Map
    javascript Array(数组)
    ZOJ 3868 GCD Expectation (容斥+莫比乌斯反演)
  • 原文地址:https://www.cnblogs.com/Theladyflower/p/4492610.html
Copyright © 2011-2022 走看看