JSP简介

作者: 让你变好的过程从来都不会很舒服 | 来源:发表于2021-09-27 16:14 被阅读0次

    JSP简介

    JSP全称是Java Server Pages,是一种动态网页技术,JSP其实就是在html中插入了java代码和JSP标签之后形成的文件,文件名以.jsp结尾。其实JSP就是一个servlet。
    在servlet中编写html比较痛苦,而写JSP就像在写html,但它相比html而言,html只能为用户提供静态数据即静态页面,而Jsp技术允许在页面中嵌套java代码,为用户提供动态数据,从而形成动态页面。需要注意的是最好只在JSP中编写动态输出的java代码。

    第一个JSP

    <%@ page language="java" contentType="text/html; charset=utf-8"
        pageEncoding="utf-8"%>
    <%@ page import="java.util.*" %>
    <!DOCTYPE html>
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
    <title>第一个JSP</title>
    </head>
    <body>
        <%
            Date d = new Date();
            out.write(d.toLocaleString());
        %>
    </body>
    </html>
    

    之后将项目部署到tomcat中并启动,在浏览器中访问该JSP即可在页面中看到当前时间了。

    JSP就是一个servlet

    JSP的工作流程

    将JSP文件转换为.java文件并将其编译为.class文件的过程都是由tomcat完成的,在tomcat内部有一个翻译引擎,当JSP页面第一次被访问时由翻译引擎转换为.java文件并编译出.class文件。之后再运行该class文件。
    在JSP中的html代码都会翻译到servlet中的out.write()中。

    JSP中的注释

    html注释:

    <!-- -->
    

    JSP注释:

    <%-- --%>
    

    两者之间的区别是html注释可以在客户端浏览器中以查看源代码的方式看到,而JSP注释则不会被看到。

    JSP中Java相关的标签

    <% %>
    在JSP中使用该标签嵌入Java代码,在一个JSP中可以有多个<% %>并且可以出现JSP文件中的任意位置,JSP引擎会将这部分Java代码按照从上到下的顺序放到_jspService方法中,因此在<% %>中只能出现以分号结尾的Java语句,不能出现下面内容:

    • 声明变量添加访问权限修饰符的;
    • 不能定义方法;
    • 不能定义静态语句块;

    <%! %>
    如果想要在JSP中声明方法或静态代码块等内容的话可以使用该标签,在该标签中不能直接编写普通的Java语句,一般情况下不建议使用这个标签,因为JSP是在单线程环境下运行的,所以在这部分中的变量可能会有线程安全问题。例:

    <%! private int a = 10; %>
    <%! 
        public void m1(){
            System.out.println("m1方法");
        }
     %>
    
    <% m1();//调用m1方法 %>
    

    <%= %>
    该标签中的内容可以直接在JSP中输出变量、常量等,里面的内容是不用分号结尾的,会被JSP引擎直接翻译到_jspService方法中的out.write()方法中输出,例如:

        <% int a = 1024;%>
        <%= a %>
        <%= "monkey1024" %>
    

    相关文章

      网友评论

          本文标题:JSP简介

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