手摸手入门JSP基础语法

简介: JSP(全称Java Server Pages)是由Sun Microsystems公司主导创建的一种动态网页技术标准。JSP部署于网络服务器上,可以响应客户端发送的请求,并根据请求内容动态地生成HTML、XML或其他格式文档的Web网页,然后返回给请求者。JSP技术以Java语言作为脚本语言,为用户的HTTP请求提供服务,并能与服务器上的其它Java程序共同处理复杂的业务需求。

JSP(全称Java Server Pages)是由Sun Microsystems公司主导创建的一种动态网页技术标准。JSP部署于网络服务器上,可以响应客户端发送的请求,并根据请求内容动态地生成HTML、XML或其他格式文档的Web网页,然后返回给请求者。JSP技术以Java语言作为脚本语言,为用户的HTTP请求提供服务,并能与服务器上的其它Java程序共同处理复杂的业务需求。


JSP将Java代码和特定变动内容嵌入到静态的页面中,实现以静态页面为模板,动态生成其中的部分内容。JSP引入了被称为“JSP动作”的XML标签,用来调用内建功能。另外,可以创建JSP标签库,然后像使用标准HTML或XML标签一样使用它们。标签库能增强功能和服务器性能,而且不受跨平台问题的限制。JSP文件在运行时会被其编译器转换成更原始的Servlet代码。JSP编译器可以把JSP文件编译成用Java代码写的Servlet,然后再由Java编译器来编译成能快速执行的二进制机器码,也可以直接编译成二进制码。


3.png


浏览器访问index.jsp,则底层执行的是 index_jsp.calss

index_jsp.calss继承HttpJspBase、HttpJspBase继承HttpServlet

Servlet的作用:逻辑处理,业务处理,连接数据库,收集数据。

JSP的作用:展示数据。

JSP是一个java程序。Servlet是JavaEE规范之一。


2.png1.png





JSP访问

第一次访问:jsp文件翻译生成java源文件,java源文件编译成Servlet对象,调用servlet对象的init、service方法。

第n次访问:调用单例servlet对象的service方法。

在jsp中直接编写文件会自动翻译到servlet类的service方法的out.write(“***”),out.print(“***”)中。

JSP基础语法

<%   %>

<%  java语句 %>被翻译到Servlet类的service方法内部

<%  java语句 %>

<%  java语句 %>符号被视为java程序,被翻译到Servlet类的service方法内部。

<%  %> 这个符号相当于在方法体中写代码。

<% int num=1;%>

<% System.out.println(num); %>

<%= %>


如果输出的内容中含有java代码(输出的内容中有变量值时使用),则可以使用

<%="输出内容"%>

<%="输出内容" %>被翻译到Servlet类的service方法内部。

JSP将其翻译成out.print();

<%! %>

向servlet方法外面写语法

<%! …%>  被翻译到Servlet类的service方法外部,class类中,可以写属性和方法。

<%!

   private int i=0;

   public static void mm(int m){

       System.out.println(m);

   }

%>

<%!

   private int j=66;

%>

<%

   System.out.println(j+i);

%>

不建议使用<%! %>符号来写静态变量和实例变量,存在线程安全问题。

JSP就是servlet,而servlet是单例的。如果在多线程并发的环境下,静态变量和实例变量一旦有修改操作,必然存在线程安全问题。

JSP在浏览器上输出语句

<%

   out.write("hello world");

   out.print("");

%>

<%="输出内容"%>

<%@...%>

<%@...%>页面指令,用来定义ASP.NET页分析器和编译器使用的特定于该页得一些定义。

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

<%@ page import="java.sql.SQLOutput" %>

(1)Language: 指定页中的所有内联呈现(<%%>和<%=%>)和代码声名块进行编译时使用的语言。可以是任何.NET Framework支持的语言。请切记:每页只能使用和指定一种语言,但一个工程可以使用多种语言。

(2)AutoEventWireup : 设置页面的事件是否自动绑定。ASP.NET 2.0默认值为true,ASP.NET 1.0和ASP.NET 1.1默认为false。ASP.NET页触发的事件,如Init, Load,PreRender等,在默认情况下,可以使用“Page_事件名称”的命名约定将页事件绑定到相应的方法,页面编译时,ASP.NET将查找基础此命名约定的方法,并自动执行该方法的代码。

(3)CodeFile:指定指向页引用的代码隐藏文件的路径。此属性与Inherits属性一起使用可以将代码隐藏源文件与网页相关联。此属性仅对编译的页有效。

(4)Inherits:与CodeFile属性(包含指向代码隐藏类的源文件的路径)一起使用来定义供页继承的任何从Page类派生的代码隐藏类。

(5)session:session="false",页面不保存session。

(6)contentType:contentType="text/html; charset=UTF-8" :指定编码方式。

(7)StyleSheetTheme:此属性在.NET Framework 2.0 版中是新增的。 获取或设置应用于此页的样式表的名称;

(8)EnableTheming:获取或设置一个值,该值指示是否对此控件应用主题。EnableTheming属性指示是否为指定的控件启用主题。当 EnableTheming 属性为 true 时,将在应用程序的主题目录中搜索要应用的控件外观。

(9)ValidateRequest:要阻止依赖于恶意输入字符串的黑客攻击,约束和验证用户输入是必不可少的。跨站点脚本攻击就是此类攻击的一个示例。其他类型的恶意数据或不需要的数据可以通过各种形式的输入在请求中传入。

文章知识点与官方知识档案匹配,可进一步学习相关知识

Java技能树首页概览116039 人正在系统学习中

目录
相关文章
|
2月前
|
自然语言处理 前端开发 搜索推荐
探索研究JSP 语法
【9月更文挑战第30天】
27 1
|
3月前
|
缓存 Java 应用服务中间件
SpringMVC入门到实战------七、SpringMVC创建JSP页面的详细过程+配置模板+实现页面跳转+配置Tomcat。JSP和HTML配置模板的差异对比(二)
这篇文章详细介绍了在SpringMVC中创建JSP页面的全过程,包括项目的创建、配置、Tomcat的设置,以及如何实现页面跳转和配置模板解析器,最后还对比了JSP和HTML模板解析的差异。
SpringMVC入门到实战------七、SpringMVC创建JSP页面的详细过程+配置模板+实现页面跳转+配置Tomcat。JSP和HTML配置模板的差异对比(二)
|
3月前
|
JavaScript 前端开发 Java
JSP基本语法
这篇文章详细介绍了JSP的基本语法,包括脚本标识、注释、指令标识和动作标识的使用方法和语法格式。
JSP基本语法
|
6月前
|
Java
JSP 教程 之 JSP 语法 13
JSP教程介绍了JSP的基础语法,包括Java的for、while和do...while循环。示例展示了如何使用这些循环控制字体大小。for循环代码显示不同大小的&quot;百度&quot;,while循环版本则因初始 fontSize 为0而多输出一行。
35 2
|
6月前
|
Java
JSP 教程 之 JSP 语法 15
JSP教程简述基础语法,包括支持的Java运算符,如一元、可乘性、可加性等,遵循特定结合性。同时,JSP有布尔、整型、浮点型、字符串和Null字面量。
37 1
|
5月前
|
前端开发 Java
杨老师课堂之jsp基础语法知识理论基础介绍
杨老师课堂之jsp基础语法知识理论基础介绍
23 0
|
6月前
|
XML Java 数据格式
JSP 教程 之 JSP 语法 3
**JSP语法简述:**了解JSP声明,用于声明变量和方法,如`&lt;%! int i = 0; %&gt;`, 先声明后使用。也可用XML格式 `&lt;jsp:declaration&gt;...&lt;/jsp:declaration&gt;`。
40 4
|
6月前
|
Java
JSP 教程 之 JSP 语法 14
`JSP语法基础涵盖Java运算符:从后缀()[] .到逻辑&&和||,包括一元++、-,算术* / %,比较&gt; &lt;,位操作符,赋值= +=等,以及条件?:,遵循特定结合性。`
36 1
|
6月前
|
Java API
JSP 教程 之 JSP 语法 11
JSP教程介绍了基础语法,包括Java语言的全面支持。示例展示了如何使用if...else和switch...case控制流语句。if...else示例显示非周末情况,switch...case示例根据变量`day`输出对应星期,当`day`为3时输出“星期三”。
40 1
|
6月前
|
Java API
JSP 教程 之 JSP 语法 10
JSP语法教程简述了基础概念,强调JSP支持全套Java控制流。示例展示了如何使用`if...else`判断语句:根据变量`day`值决定显示“今天是周末”或“今天不是周末”。代码以`&lt;%@...%&gt;`指令开始,设定页面属性,接着是`&lt;%!...%&gt;`声明变量,最后`&lt;%...%&gt;`内执行条件判断。结果输出“今天不是周末”。
32 1