java基础语句翻译

java基础语句翻译1 第一个 JSP 程序 351 1 原理 35 在 WEB INF 目录之外创建 index jsp 文件 然后文件中没有任何内容 部署上述项目后 启动服务器 打开浏览器 访问以下地址 http localhost 8080 jsp index jsp 在大家面前展示的是一个空白 事实上 访问以上内容 index jsp 底层执行如下 index jsp java 程序 class

大家好,我是讯享网,很高兴认识大家。



1.第一个JSP程序351.1原理35

在WEB-INF目录之外创建index.jsp文件,然后文件中没有任何内容。

-部署上述项目后,启动服务器,打开浏览器,访问以下地址:

-http://localhost:8080/jsp/index.jsp在大家面前展示的是一个空白。

-事实上,访问以上内容:index.jsp,底层执行如下:index_jsp.java程序class。

-这个index.tomcat翻译将jsp生成index_jsp.java文件,tomcat服务器将index_jsp.生成index_java编译jsp.class文件

-访问index.jsp,实际上,index__jsp.class中的方法。

1.2JSP实际上是Servlet。35

-index.jsp访问时,自动翻译生成index_jsp.java,index_会自动编译生成index_jsp.class,那么index_jsp就是一个类。

-index_jsp类继承HttpJspbase,HttpJspbase类继承Httpservlet。所以index_jsp类是servlet类。

-jsp的生命周期与servlet的生命周期完全相同。完全是一件事。没有区别。

-jsp和servlet一样,都是单例。(假单例。)

1.3jsp文件第一次访问比较慢。为什么?35

-为什么大多数运维人员在向客户演示项目时提前访问所有jsp文件?

-第一次更麻烦:

-将jsp文件翻译成java源文件

-编译生成class字节码文件的java源文件

-然后通过class创建servlet对象

-然后调用servlet对象的init方法

-最后,调用servlet对象的service方法。

-第二次比较快,为什么?

-因为单例servlet对象的service方法可以第二次直接调用。

2.什么是JSP?

-JSP是Java程序。(JSP本质上是Servlet)

-JSP是:JavaServerPages缩写。(基于Java语言的服务器端页面。)

-Servlet是JavaEE的13个子规范之一,因此JSP也是JavaEE的13个子规范之一。

-JSP是一套规范。所有web容器/web服务器都遵循这一规范,按照这一规范进行“翻译”

-每个web容器/web服务器都会内置JSP翻译引擎。

-对JSP进行错误调试时,应直接打开JSP文件对应的java文件,检查java代码。

-JSP开发的最高境界:

-JSP代码出现在我面前,但java代码出现在我的脑海里。

3.既然JSP本质上是Servlet,JSP和Servlet有什么区别?35

-职责不同:

-Servlet的职责是什么:收集数据。(Servlet的优势在于逻辑处理、业务处理,然后链接数据库获取/收集数据。)

-JSP的职责是什么:显示数据。(JSP的优势是显示数据)

4.JSP的基本语法354.1直接在JSP文件中编写文字,会自动翻译到哪里?35

-将service方法翻译成servlet类的out.write(“翻译到这里”),直接翻译到双引号,用java程序作为普通字符串打印输出到浏览器。

-JSP中编写的HTMLCSJS代码对JSP来说只是一个普通的字符串。但一旦JSP将普通字符串输出到浏览器,浏览器将解释HTMLCSSJS。显示一个效果。

4.2解决响应中的中文乱码问题:35

-JSP的page指令(这个指令稍后再详细说明,这里先解决中文乱码问题)

-响应的内容类型是通过page指令设置的,并添加到内容类型的最后:charset=UTF-8

-<%@pagecontentType="text/html;charset=UTF-8"%>,text///html,UTF-8使用的字符集

WEB-INF1代码.jsp

 
讯享网 

5.Java程序如何在JSP中编写?365.1基本符号365.1.如何在JSP中编写JSP专业注释36

- <%--JSP的专业注释不会被翻译成Java源代码。-%>

- <!--本注释属于HTML注释,该注释信息仍将翻译成java源代码,不推荐。-->

5.1.2<%java语句;%>

-编写在这个符号中的java程序被视为翻译成Servlet的java程序service方法内部。

-在这里你要小心,你要思考,在这里<%%>在这个符号中写java代码时,你应该永远记住你在“方法体”中写代码

WEB-INF2代码.jsp

讯享网

5.1.3方法体能写什么,不能写什么,你心里明白吗?36

-编写在service方法中的代码是有序的,方法体中的代码应按照自上而下的顺序逐一执行。

-不能在service方法中写静态代码块,不能写方法,不能定义成员变量。。

-在同一JSP中<%%>多个符号可以出现这个符号。

5.1.4<%!%>36

java基础语句翻译 -编写在这个符号中的java程序将自动翻译到除了service方法。

-这种语法很少使用。为什么?不建议使用,因为在service方法外写静态变量和实例变量时,会出现线程安全问题,因为JSP是servlet,servlet是单例。在多线程并发的环境下,一旦修改了静态变量和实例变量,必然会出现线程安全问题。

WEB-INF3代码.jsp

 

5.2JSP输出语句36-37

-如何在浏览器上输出java变量?

-<%Stringname=“jack”;

out.write("name="+name);

%>

-注:上述代码中的out是JSP的九个内置对象之一。可以直接使用。当然,它只能在service方法中使用。

-如果在输出到浏览器的内容中没有“java代码”,例如,输出的字符串是一个固定的字符串,可以直接在jsp中编写,而无需编写<%%>这里。

-若输出内容中含有“java代码”,此时可采用以下语法格式:

-<%=%>注:将要输出的内容写在=的后面。

-<%=%>这个符号会翻译到哪里?最后翻译成什么?

-将这个java代码翻译成:out.print();

-将其翻译成service方法。

-何时使用<%=%>输出呢?输出内容包含java变量,输出内容是动态内容,而不是死字符串。如果输出是固定字符串,可以直接在JSP文件中编写。

WEB-INF4代码.jsp

讯享网

JSP原理深度刨析_java代码

6.JSP基础语法总结:37

- 直接在JSP中编写普通字符串 将outt翻译到service方法.write(这里”)

- <%%> 将其翻译到service方法体内,内部是java语句。

- <%! %> 除了service方法的翻译。

- <%= %> 将其翻译成service方法体,翻译成:out.print();

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

- 通过contenttype属性设置响应内容类型的page指令。

小讯
上一篇 2024-12-29 10:28
下一篇 2024-12-28 07:35

相关推荐

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/4243.html