OracleJSP基础

JSP全名Java Server
Page,它成立在Servlet规范之上的动态网页开发技术,由Oracle(Sun)推出。

1、jsp的作用:

Servlet:

  • 症结:不切合安装html响应体,需要大量之response.getWriter().print(“html”);
  • 瑜:动态资源,可以编程。

html:

  • 症结:html是静态页面,不可知包含动态消息
  • 长:不用为出口html标签而忧心忡忡

jsp(Java Server Page):

  • 亮点:在原有html的底蕴及上加java脚本,构成jsp页面。

2、jsp和Servlet的分工:

  • jsp:
    • 作请求发起页面,例如显示表单、超链接。
    • 作为请求了页面,例如销售数目。
  • Servlet:
    • 作请求被处理多少的环。

Oracle 1

3、jap的组成

  • jsp = html + java脚本 + jsp标签(指令)
  • jsp中无需创建即可使用的目标一共来9个,被称9颇放对象。例如:request对象、out对象
  • 3种java脚本:
    • <%…..%>:java代码片段(常用),用于定义0~N条Java语句。方法外会写什么,它就是得放大什么。
    • <%=….%>:java表达式,用于出口(常用),用于出口一长条表达式(或变量)的结果。response.getWriter().print(….);这里能推广什么,它便可以放开什么。
    • <%!…..%>:声明,用来创造类的成员变量和分子方法(基本不用,但容易为考到),类体中得以放开什么,它就是得加大什么。

案例:演示jsp中Java脚本的采取

 1 <%@ page contentType="text/html;charset=UTF-8" language="java" %>
 2 <html>
 3   <head>
 4     <title>$Title$</title>
 5   </head>
 6   <body>
 7     <%--定义局部变量--%>
 8     <%
 9       int a =10;
10     %>
11     <%
12       out.println(a);
13     %>
14     <%=a %>
15     <%--定义成员变量及方法--%>
16     <%!
17       int a=100;
18       public void fun1() {
19         System.out.println(a);
20       }
21     %>
22     <%--this表示引用的是成员变量--%>
23     <%
24       out.println(this.a++);
25       fun1();
26     %>
27   </body>
28 </html>

 1 <%@ page contentType="text/html;charset=UTF-8" language="java" %>
 2 <html>
 3 <head>
 4     <title>Title</title>
 5 </head>
 6 <body>
 7     <table border="1" align="center" width="60%">
 8         <tr>
 9             <td>姓名</td>
10             <td>年龄</td>
11         </tr>
12         <%
13             for (int i = 0; i < 10; i++) {
14         %>
15         <%--以下表格变成循环体--%>
16         <tr>
17             <td>张三</td>
18             <td>28</td>
19         </tr>
20         <%
21             }
22         %>
23     </table>
24 </body>
25 </html>

案例:演示jsp与servlet分工。

Oracle 2

 

 1 <%@ page contentType="text/html;charset=UTF-8" language="java" %>
 2 <html>
 3 <head>
 4     <title>Title</title>
 5 </head>
 6 <body>
 7 <form action="/day11_1/AServlet" method="post">
 8     整数1:<input type="text" name="num1"/><br/>
 9     整数2:<input type="text" name="num2"/><br/>
10     <input type="submit" value="提交"/>
11 </form>
12 </body>
13 </html>

 1 @WebServlet(name = "AServlet",urlPatterns = "/AServlet")
 2 public class AServlet extends HttpServlet {
 3     protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
 4         String s1 = request.getParameter("num1");
 5         String s2 = request.getParameter("num2");
 6         int num1 = Integer.parseInt(s1);
 7         int num2 = Integer.parseInt(s2);
 8         int sum = num1+num2;
 9         String sum1= String.valueOf(sum);
10         request.setAttribute("result",sum1);
11         request.getRequestDispatcher("/add/result.jsp").forward(request,response);
12     }
13 }

 1 <%@ page contentType="text/html;charset=UTF-8" language="java" %>
 2 <html>
 3 <head>
 4     <title>Title</title>
 5 </head>
 6 <body>
 7   <%
 8      String result = (String)request.getAttribute("result");
 9   %>
10   <%=result %>
11 </body>
12 </html>

 4、jsp原理

  • jsp其实是相同种植特殊之Servlet
    • 当jsp页面把第一次等造访时,Oracle服务器会拿jsp编译成java文件(这个java其实是一个servlet类)
    • 然后重新管Java编译成.class
    • 下一场创建该类对象
    • 最后调用它们的service()方法
    • 亚浅呼吁同一jsp时,直接调用service()方法
  • 于Tomcat的work目录下足找到jsp对应的.java源代码。
  • 查看jsp对应java文件:
    • java脚本
    • html

Oracle 3

Oracle 4

5、jsp注释

  • <%–….–%>:当服务器将jsp编译成java文件时已经忽略了诠释部分。

相关文章