Servlet:JSP理解

1. jsp的作用:
  * Servlet:
    > 缺点:不适合设置html响应体,需要大量的response.getWriter().print("<html>")
    > 优点:动态资源,可以编程。
  * html:
    > 缺点:html是静态页面,不能包含动态信息
    > 优点:不用为输出html标签而发愁
  * jsp(java server pages):
    > 优点:在原有html的基础上添加java脚本,构成jsp页面。

2. jsp和Servlet的分工:
  * JSP:
    > 作为请求发起页面,例如显示表单、超链接。
    > 作为请求结束页面,例如显示数据。
  * Servlet:
    > 作为请求中处理数据的环节。

3. jsp的组成
  * jsp = html + java脚本 + jsp标签(指令)

  * jsp中无需创建即可使用的对象一共有9个,被称之为9大内置对象。

request、response、out、session、page、pageContext、exception、application、config

  * 3种java脚本:
    > <%...%>:java代码片段(常用),用于定义0~N条Java语句!方法内能写什么,它就可以放什么!
    > <%=...%>:java表达式,用于输出(常用),用于输出一条表达式(或变量)的结果。response.getWriter().print( ... );这里能放什么,它就可以放什么!
    > <%!...%>:声明,用来创建类的成员变量和成员方法(基本不用,但容易被考到),类体中可以放什么,它就可以放什么!


4. jsp原理(理解)
  * jsp其实是一种特殊的Servlet
    > 当jsp页面第一次被访问时,服务器会把jsp编译成java文件(这个java其实是一个servlet类)
    > 然后再把java编译成.class
    > 然后创建该类对象
    > 最后调用它的service()方法
    > 第二次请求同一jsp时,直接调用service()方法。肯定也是先通过jsp的路径找到这个Servlet。
  * 在tomcat的work目录下可以找到jsp对应的.java源代码。
  * 查看jsp对应java文件:
    > java脚本

    > html

JSP页面中不同的符号翻译到servlet中的时候对用的

<%!

int b  = 0;

public void say(){

System.out.println("成员");

}

%>

abcdefg

<%

int a =100;

System.out.println(a);

out.print(a);

%>

a

<%=a%>

<%

for(int i = 0; i < 10; i++) {  

    %>

  <%=i%>

    <%

       }

    %>

<%--dnjkfdjnf%-->//jsp注释,翻译完丢弃掉

<!--html注释保留-->

------------------------------------------------------------------------

在翻译完的那个类中定义成员变量b和成员方法say

out.write("abcdefg");

int a = 100;

System.out.println(a);

out.print(a);

out.write("a");

out.print(a);

for(int i = 0; i < 10; i++) {  

out.print(i);

}

out.write("<!--html注释保留-->");


5. jsp注释
  * <%-- ... --%>:当服务器把jsp编译成java文件时已经忽略了注释部分!
  <!--fdsafdsa-->:html注释
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值