• 1. 简单介绍什么是 JSP 和 JSP工作原理、一些基本语法


    JSP简介

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

    其实JSP就是一个servlet 这句话要记一下!!!

    一个JSP:

    IDEA中创建jsp:

    在web目录下右键,new—>JSP/JSPX,创建一个名为first.jsp的文件。

    eclipse中创建JSP:

    在WebContent目录下点击右键—>new—>JSP file,创建一个名为first.jsp的文件。

    记住是在WebContent下创建,可以自己访问.

    然后在文件中编写下面代码:

    1.把头部那些编码换成UTF-8即可支持中文

    2.可以看出 上面除了导包那一块  下面的都是html代码!

    3.记住 java代码要在这里面写: <% java代码块 %>

    4.记住 导java的包要这样写:<%@page import="java.util.*"%>  【例:导入util中全部包】

    <%@page import="java.util.Date"%>
    <%@ page language="java" contentType="text/html; charset=UTF-8"
        pageEncoding="UTF-8"%>
    
        
    <!DOCTYPE html>
    <html>
    <head>
    <meta charset="UTF-8">
    <title>Insert title here</title>
    </head>
    <body>
            <h1>Hello,World!</h1>
            <% Date now = new Date();
                out.write(now.toLocaleString());
            %>
    </body>
    </html>

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

    JSP就是一个servlet

    IDEA查看方式:

    打开tomcat启动的控制台中的最上面的CATALINA_BASE后面的硬盘地址,然后进入到workCatalinalocalhost目录下就可以找到这个java文件了。

    eclipse查看方式:

    工作空间中的.metadata.pluginsorg.eclipse.wst.server.core mp0workCatalinalocalhost7-04-jsporgapachejsp目录下。

    可以看到firstjsp.java和firstjsp.class两个文件,打开java源码后可以看到该类继承了 org.apache.jasper.runtime.HttpJspBase类通过HttpJspBase的源码可以看到是继承了HttpServlet因此JSP就是一个servlet

    JSP的工作流程

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

    JSP中的注释

    在JSP中可以使用下面两种注释

    • html注释:

      <!-- -->
    • JSP注释:

      <%-- --%>

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

      例: JSP源代码:

    <%@page import="java.util.Date"%>
    <%@ page language="java" contentType="text/html; charset=UTF-8"
        pageEncoding="UTF-8"%>
    
    
    <!DOCTYPE html>
    <html>
    <head>
    <meta charset="UTF-8">
    <title>Insert title here</title>
    </head>
    <body>
    
            
            <!-- 我不想学啦!!!!!!!!  -->
            <%-- 求知若渴啊!!!!!!!  --%>
    </body>
    </html>

    浏览器中的源代码:

    <!DOCTYPE html>
    <html>
    <head>
    <meta charset="UTF-8">
    <title>Insert title here</title>
    </head>
    <body>
    
            
            <!-- 我不想学啦!!!!!!!!  -->
            
    </body>
    </html>

    JSP一些基本的代码标签:

    • <% %>

    在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" %>

    本文来自博客园,作者:咸瑜,转载请注明原文链接:https://www.cnblogs.com/bi-hu/p/14823961.html

  • 相关阅读:
    NUMBER BASE CONVERSION(进制转换)
    2776 寻找代表元(匈牙利算法)
    最长严格上子序列(二分优化)
    c++ bitset类的使用和简介
    笨小猴 2008年NOIP全国联赛提高组
    三国游戏 2010年NOIP全国联赛普及组
    全国信息学奥林匹克联赛(NOIP2014)复赛 模拟题Day2 长乐一中
    codevs 1704 卡片游戏
    热浪
    全国信息学奥林匹克联赛 ( NOIP2014) 复赛 模拟题 Day1 长乐一中
  • 原文地址:https://www.cnblogs.com/bi-hu/p/14823961.html
Copyright © 2020-2023  润新知