JSP入门详解

简介: 一、基础知识详解   1.JSP中使用html注释客户端可见,使用jsp注释客户端不可见(查看源文件只看到空行),单行和多行注释也看不到(//或者/*  */)   直接在body里面//或者/* */是不幸的,需要在里面或者   2.page include taglib指令   pageEncoding是JSP页面本身的编码,contentType是服务器端发送给客户端时候的编码。

一、基础知识详解

  1.JSP中使用html注释<!-- -->客户端可见,使用jsp注释<%-- --%>客户端不可见(查看源文件只看到空行),单行和多行注释也看不到(//或者/*  */)

  直接在body里面//或者/* */是不幸的,需要在<%%>里面或者<%! %>

  2.page include taglib指令

  pageEncoding是JSP页面本身的编码,contentType是服务器端发送给客户端时候的编码。

  3.JSP脚本和JSP声明

  JSP脚本

<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>

 脚本的本质是插入到servlet里的service方法。

例如:
 <% 
  if (user != null ) { 
 %>
  Hello <B><%=user%></B>
 <% 
  } else { 
 %>
  You haven't login!
 <%
  }
 %>
 转译成:
 if (user != null ) { 
  out.println("Hello <B>" + user + "</B>"); 
 } else {  
  out.println("You haven't login!"); 
 }

 JSP声明

<%!
    String s = "aa";
    int res(int a ,int b) {
        return a+b;
    }
%>

  注意:生命的本质是将生命的变量加入到servlet勒种。

  4.JSP表达式

  调用上面的JSP声明

你好<%= s%> <br/> //表达式后面没有分号
x+y=<%=add(90,8)%> <br/>

 注意:表达式里不能有分号,另外函数必须要有返回值,不能是void,表达式的本质是JSP页面转换成servlet后使用out.println("aa")将对应的值输出。

  5.JSP生命周期

  如果是第一次请求JSP页面,那么tomcat调用jspInit()方法将JSP页面转录成字节码文件,在tomcat下的work下的Catalina目录下可以看到对应的.class文件,如果不是第一次那么会调用jspService方法来显示,每次修改jsp页面,.class会重新编译。

 二、指令和脚本方式调用声明

 1 <%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>
 2 <%
 3 String path = request.getContextPath();
 4 String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
 5 %>
 6 
 7 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
 8 <html>
 9   <head>
10     <base href="<%=basePath%>">
11     
12     <title>My JSP 'index.jsp' starting page</title>
13     <meta http-equiv="pragma" content="no-cache">
14     <meta http-equiv="cache-control" content="no-cache">
15     <meta http-equiv="expires" content="0">    
16     <meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
17     <meta http-equiv="description" content="This is my page">
18     <!--
19     <link rel="stylesheet" type="text/css" href="styles.css">
20     -->
21   </head>
22   <body>
23     <h1>九九乘法表</h1> <br>
24     
25     <%!
26         //表达式方式 
27         String printMultiTable() {
28             String s = "";
29             //必须要有int,否则提示变量未声明,无法解析
30             for(int i=1; i<=9; i++) {
31                 for(int j=1; j<=i; j++) 
32                 //原来一直提示错误,下面的这行注释里有个%的结束标记,
33                 //黄色和上面的匹配了,删了几哈好了
34                 //不能"<%=i*j"这里面是函数和变量
35                     s += i+"*" +j+ "=" +(i*j) + "&nbsp&nbsp&nbsp";
36                 s += "<br/>";
37             }
38             return s;
39         }    
40         //out对象是JspWriter的实例化
41         void printMultiTableByEx(JspWriter out)throws Exception {
42             for(int i=1; i<=9; i++) {
43                 for(int j=1; j<=i; j++) 
44                     out.println(i+"*" +j+ "=" +(i*j) + "&nbsp&nbsp&nbsp"); 
45                 out.println("<br/>");
46             }
47         }
48      %>     
49      <hr>
50      <p>表达式方式调用声明</p><br/>
51      <%=printMultiTable()%>
52      <p>脚本方式调用声明</p>
53      <!-- 脚本方式需要有分号 -->
54      <%printMultiTableByEx(out);%>
55   </body>
56 <ml>

目录
相关文章
|
2月前
|
缓存 Java 应用服务中间件
SpringMVC入门到实战------七、SpringMVC创建JSP页面的详细过程+配置模板+实现页面跳转+配置Tomcat。JSP和HTML配置模板的差异对比(二)
这篇文章详细介绍了在SpringMVC中创建JSP页面的全过程,包括项目的创建、配置、Tomcat的设置,以及如何实现页面跳转和配置模板解析器,最后还对比了JSP和HTML模板解析的差异。
SpringMVC入门到实战------七、SpringMVC创建JSP页面的详细过程+配置模板+实现页面跳转+配置Tomcat。JSP和HTML配置模板的差异对比(二)
|
5月前
|
设计模式 存储 前端开发
Java从入门到精通:2.2.1学习Java Web开发,了解Servlet和JSP技术,掌握MVC设计模式
Java从入门到精通:2.2.1学习Java Web开发,了解Servlet和JSP技术,掌握MVC设计模式
QGS
|
XML JavaScript 前端开发
手搭手入门纯Servlet+JSP+Mybatis+Tomcat9实现Web更删改查
Servlet对象的生命周期 Servlet对象的生命周期是由Tomcat服务器(中间件)全权负责的。 Tomcat服务器(中间件)有通常被称为WEB容器。
QGS
234 0
手搭手入门纯Servlet+JSP+Mybatis+Tomcat9实现Web更删改查
QGS
|
XML 开发框架 安全
手摸手入门JSP基础语法
JSP(全称Java Server Pages)是由Sun Microsystems公司主导创建的一种动态网页技术标准。JSP部署于网络服务器上,可以响应客户端发送的请求,并根据请求内容动态地生成HTML、XML或其他格式文档的Web网页,然后返回给请求者。JSP技术以Java语言作为脚本语言,为用户的HTTP请求提供服务,并能与服务器上的其它Java程序共同处理复杂的业务需求。
QGS
86 0
|
存储 缓存 Java
JAVA Web入门之JSP内置对象的解析及使用(超详细必看)
JAVA Web入门之JSP内置对象的解析及使用(超详细必看)
309 0
JAVA Web入门之JSP内置对象的解析及使用(超详细必看)
|
安全 JavaScript 前端开发
Java Web入门之JSP的基本语法解析及实战(超详细 附源码)
Java Web入门之JSP的基本语法解析及实战(超详细 附源码)
311 0
Java Web入门之JSP的基本语法解析及实战(超详细 附源码)
|
XML 前端开发 JavaScript
【JSP入门】只知道HTML却不知道JSP?
今天我们继续来总结学习JSP相关知识,上一篇我们学习了Servlet的基础入门,如果你还对Servlet那么建议你先去看一下上篇文章再回来。
【JSP入门】只知道HTML却不知道JSP?
|
XML SQL 前端开发
JSP入门(三)
JSP入门(三)
163 0
JSP入门(三)
|
Java 应用服务中间件
JSP入门(二)
JSP入门(二)
150 0
JSP入门(二)
|
缓存 Java 应用服务中间件
JSP入门(一)
JSP入门()(一)
177 0
JSP入门(一)