美文网首页
Java遇见HTML-JSP(一)

Java遇见HTML-JSP(一)

作者: 零下的雨 | 来源:发表于2020-04-21 10:07 被阅读0次

    Java遇见HTML的6篇文章技术较老只是在熟悉java基础知识和了解mvc模型思想

    JSP:
    JSP全名是Java server pages,其根本是一个简化的servlet设计,他实现了在java当中使用html标签,jsp是一种动态网页技术标准也是JAVAEE的标准。jsp和servlet一样,是在服务器端执行的。
    JSP页面组成部分:指令、表达式、小脚本、声明、注释、静态内容

    JSP指令:
    page指令:通常位于jsp页面的顶端,同一个页面可以有多个page指令。
    include指令:将一个外部文件嵌入到当前jsp文件中,同时解析这个页面中的jsp语句。
    taglib指令:使用标签库定义新的自定义标签,在jsp页面中启用定制行为。

    image.png
    image.png

    jsp中可以写java语言:


    image.png
    jsp声明:

    在jsp中声明变量和方法。


    image.png
      <%!
        String i="111111";
        int add(int a,int b)
        {
            return a+b;
        }
    
      %>
      <%
        //单行注释在客户端不可见
        /*
        多行注释在客户端可见
         */
        System.out.println("欢迎大家学习javaEE开发");
        System.out.println(i);//调用上面的变量
      %>
    

    jsp表达式

    image.png
      <%!
        String i="111111";
        int add(int a,int b)
        {
            return a+b;
        }
    
      %>
      <br>
      <%
        //单行注释在客户端不可见
        /*
        多行注释在客户端可见
         */
        System.out.println("欢迎大家学习javaEE开发");
        System.out.println(i);//调用上面的变量
      %>
      <!--调用上面的变量-->
      <%=i%>
      <br>
      <!--调用上面的方法-->
      <%=add(10,20)%>
    
    image.png

    jsp页面生命周期

    image.png
    image.png

    JSP引擎把jsp文件转换成一个servlet类的字节码文件,调用jspInit()方法生成java字节码文件,解析后执行jspService()方法,该方法中就是jsp文件中要展示到前端的业务逻辑代码。

    脚本:

      <br>
      <%
        SimpleDateFormat simpleDateFormat=new SimpleDateFormat("yyyy-mm-dd");
        String s=simpleDateFormat.format(new Date());
      %>
    
      今天是:<%=s%>
    
      <br>
      <!--声明一个方法,返回打印的结果,使用表达式调用-->
      <!--声明第二个方法,方法中打印结果,在脚本中调用-->
      <%!
          String getMutiResult() throws Exception
          {
              String s="";
              for (int i=1;i<=9;i++)
              {
                  for (int j=1;j<=i;j++)
                  {
                      s+=i+"*"+j+"="+(i*j)+"&nbsp;&nbsp;&nbsp;&nbsp;";
                  }
                  s=s+"<br>";
              }
              return s;
    
          }
    
          void getMutiResultTwo(JspWriter out) throws Exception
          {
              for (int i=1;i<=9;i++)
              {
                  for (int j=1;j<=i;j++)
                  {
                      out.print(i+"*"+j+"="+(i*j)+"&nbsp;&nbsp;&nbsp;&nbsp;");
                  }
                  out.println("<br>");
              }
    
          }
      %>
      <h1>九九乘法口诀</h1>
      <%=getMutiResult()%>
      <br>
      <%
          //使用脚本的方式调用方法,并传参数
          getMutiResultTwo(out);
      %>
    

    jsp的内置对象,不需要new实例化就可以直接使用

    image.png

    out\request\response\session\application\page\pageContext\exception\config

    out对象:

    image.png

    get和post

    image.png
    image.png

    启动tomcat服务,在浏览器中看到login.jsp中写的内容:


    image.png
    输入用户名、密码登录后跳转到dologin.jsp中
    image.png

    可以看到浏览器地址中把用户名和密码都带上了,因为用的是get方法就会把用户名和密码作为参数提交给服务器。用post方法就会避免把用户信息暴露出来的问题。
    改成post重新发布:


    image.png
    看到浏览器中不带用户信息了:
    image.png

    request对象

    image.png
    image.png

    主要用到getParameter和getParameterValues


    image.png
    image.png

    浏览器中:


    image.png
    image.png

    其他方法的使用:


    image.png

    response

    image.png
    image.png

    请求重定向和请求转发

    image.png

    reg.jsp的action指向response.jsp


    image.png

    response.jsp中请求重定向到request.jsp中


    image.png
    在浏览器中先进到reg.jsp中,输入用户名和密码提交后服务端会先进入response.jsp
    中再跳转到request.jsp中,但是用户名和爱好都没有获取到
    image.png

    因为请求重定向,相当于两次请求,前一次请求的信息不会保存,所以为空。

    下面看请求转发:


    image.png

    修改jsp后更新程序,浏览器重新进入reg.jsp页面输入用户名和爱好,进入response.jsp页面中看到获取到用户名和爱好,浏览器中url地址也没有变化。


    image.png
    image.png

    相关文章

      网友评论

          本文标题:Java遇见HTML-JSP(一)

          本文链接:https://www.haomeiwen.com/subject/sjazmhtx.html