jsp基础语法与指令
JSP 与 PHP、ASP、ASP.NET 等语言类似,运行在服务端的计算机语言。
JSP(全称JavaServer Pages)是由Sun Microsystems公司主导创建的一种动态网页技术标准。JSP部署于网络服务器上,可以响应客户端发送的请求,并根据请求内容动态地生成HTML、XML或其他格式文档的Web网页,然后返回给请求者。JSP技术以Java语言作为脚本语言,为用户的HTTP请求提供服务,并能与服务器上的其它Java程序共同处理复杂的业务需求。
简单来说,根据jsp的全称java server pages可以看出,jsp是java的一个分支,它是面向网站编程的。可以像servlet一样,实现动态网站。在jsp中,既可以编写html代码,也可以编写java代码,并且:
-
如果是java代码,则原封不动地输出;
-
如果是HTML代码,就将其转换成out.write("<html>\r\n");这样的格式来输出前端,不过这个过程无需手动完成。
我的第一个jsp程序
<%@ page contentType="text/html;charset=UTF-8" language="java" %> <html> <head> <title>MyFirst</title> </head> <body> <% out.println("Hello World!"); //java语言 %> <h1>Hello world !</h1> //HTML语言 </body> </html>
简单总结:
-
JSP全称Java Server Pages,是一种动态网页开发技术。它使用JSP标签在HTML网页中插入Java代码。标签通常以<%开头以%>结束。
-
JSP是一种Java servlet,主要用于实现Java web应用程序的用户界面部分。网页开发者们通过结合HTML代码、XHTML代码、XML元素以及嵌入JSP操作和命令来编写JSP。
-
JSP通过网页表单获取用户输入数据、访问数据库及其他数据源,然后动态地创建网页。
-
JSP标签有多种功能,比如访问数据库、记录用户选择信息、访问JavaBeans组件等,还可以在不同的网页中传递控制信息和共享信息。
总而言之:jsp以java语言为基础构造动态网站!
jsp的基础依赖包
<dependencies> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>4.11</version> <scope>test</scope> </dependency> <!--Servlet依赖--> <dependency> <groupId>javax.servlet</groupId> <artifactId>servlet-api</artifactId> <version>2.5</version> </dependency> <!--jsp依赖--> <dependency> <groupId>javax.servlet.jsp</groupId> <artifactId>jsp-api</artifactId> <version>2.2.1-b03</version> </dependency> <!--jstl表达式的依赖--> <dependency> <groupId>javax.servlet.jsp.jstl</groupId> <artifactId>jstl</artifactId> <version>1.2</version> </dependency> <!--jstl需要用到的standard标签库--> <dependency> <groupId>taglibs</groupId> <artifactId>standard</artifactId> <version>1.1.2</version> </dependency> </dependencies>
jsp的基础语法
PS:任何语言都有自己的基础语法,jsp作为java的一种应用,它有自己的一些扩充语法,并且支持JAVA语言的所有语法。
注释:
<%--这是jsp的注释--%> //不会在网站中现实 <!--这是HTML的注释--> //网站源码中会显示
jsp表达式:
<%--jsp表达式--%>
<%--作用:用来将程序的输出输出到客户端中--%>
<%= new java.util.Date()%>
jsp脚本片段:
<%--jsp脚本片段--%> <% int sum=0; for (int i = 0; i <= 100; i++) { sum+=i; } out.println("<h1>Sum="+sum+"</h1>"); %>
jsp脚本片段的再实现:
<% for (int i = 0; i < 10; i++) { %> <h1>Hello,Hayden-wong.<%=i%></h1> //重复输出本行内容(10次) <% } %>
jsp声明:
<%! static { System.out.println("loading..."); } public void fun(){ System.out.println("本方法已被调用!"); } %>
PS: jsp声明的代码会被编译到java类中,而其他的会被编译到_JspService方法中;即:jsp声明的是全局的,其他的是局部的!
jsp指令
<%@ page contentType="text/html;charset=UTF-8" language="java" %> <html> <head> <title>jsp3</title> </head> <body> <%--include会将几个页面合起来,本质上是一个界面--%> <%@include file="header.jsp"%> <h1>MAIN</h1> <%@include file="footer.jsp"%> <hr> <%--jsp标签--%> <%--page是一种拼接,本质上还是几个页面!!!推荐使用,灵活性更高--%> <jsp:include page="header.jsp"/> <h1>main</h1> <jsp:include page="footer.jsp"/> </body> </html> <%@ page contentType="text/html;charset=UTF-8" language="java" %> <h1>THIS IS A HEADER</h1> <%@ page contentType="text/html;charset=UTF-8" language="java" %> <h1>THIS IS A FOOTER</h1>