Jsp知识点之一
来源:互联网 发布:发票查询真伪软件 编辑:程序博客网 时间:2024/06/07 20:18
Jsp初识
Jsp就是一个Servlet,但是Jsp里面既可以写html代码,又可以写Java代码,换句话说Servlet的技术都可以用在Jsp上,但是Jsp的功能却比Servlet的功能强大。
Jsp的执行过程
- 1、浏览器访问一个Jsp资源时,Tomcat翻译 Jsp文件
filename.jsp ——> _filename_jsp.java (如果文件名中有点 . 会被翻译成下划线 ) - 2、Tomcat编译Java资源
_filename_jsp.java ——> _filename_jsp.class
其中文件存在workspace中,我的目录:
D:\javaweb\workspace.metadata.plugins\org.eclipse.wst.server.core\tmp0\work\Catalina\localhost
看一看翻译的java文件中的代码,我们会发现
_filename_jsp 继承 org.apache.jasper.runtime.HttpJspBase
然而需要知道的是
org.apache.jasper.runtime.HttpJspBase 继承 javax.servlet.http.HttpServlet
所以,总结来说jsp(翻译成的java类)间接地继承了HttpServlet,这也就是为什么说Jsp就是一个Servlet了。Jsp的作用可比Servlet大哦。
- 3、Tomcat构造_filename_jsp类对象
- 4、Tomcat调用_filename_jsp类里面的方法
Jsp语法
jsp注释
Jsp的注释和html的是不一样的
<!-- 这个是html的注释 --><%-- 这个是jsp注释 --%>
注意注意:html的注释会被翻译在java文件里面,而jsp的注释不会被翻译在java文件里面
Jsp的注释才是真正的注释!
jsp脚本
<% java代码 %>
<% %> 里面写Java代码
<% int a = 10; int b = 20; %>
里面的在翻译的时候直接放在_jspService()方法中
int a = 10; int b = 20;
然而html代码都是这个样子翻译的(下面是部分)
out.write("<html>\r\n"); out.write("<head>\r\n"); out.write("<meta http-equiv=\"Content-Type\" content=\"text/html; charset=utf-8\">\r\n"); out.write("<title>Insert title here</title>\r\n"); out.write("</head>\r\n"); out.write("<body>\r\n");
jsp表达式
<%=变量或表达式%>
向浏览器输出变量或表达式计算的结果
<% int a = 10; int b = 20; %> <!-- jsp表达式 --> <%=a+b %>
翻译成下面的代码
int a = 10; int b = 20; out.write("\r\n"); out.write("\t<!-- jsp表达式 -->\r\n"); out.write("\t"); out.print(a+b );
<%=a+b %>被翻译成了out.print(a+b );
浏览器上会显示a+b的值30
jsp声明
<%! 变量或方法 %>
声明jsp的成员变量或成员方法
在jsp脚本里面声明的变量时局部变量只在_jspService()方法中有效,但是jsp声明里面声明的变量或者方法是全局的,在该类中都有效
阅读全文
0 0
- JSP知识点汇总之一
- Jsp知识点之一
- # JSP入门知识点系列之一
- jsp知识点
- jsp知识点
- jsp知识点
- jsp知识点
- JSP知识点
- JSP知识点
- jsp知识点
- Jsp知识点
- JSP知识点
- JSP知识点
- JSP知识点
- JSP知识点
- JSP知识点
- jsp知识点
- C#知识点之一
- c/c++ const的详解
- 微信扫码支付(模式一)遇到的那些坑
- C++中模板为什么不支持分离编译
- 度度熊的王国战略(最小割)
- JavaScript Boolean(逻辑)对象
- Jsp知识点之一
- spring boot中用RabbitMQ调用接口
- 那些年支付宝微信银联支付遇到的坑
- 《C++大数据运算(+、-、*、/)》
- redis之集群
- 微信|支付宝|银联支付(电脑和手机端区别)
- [LintCode]Sort Integers(C++)
- svn迁移出的项目中文乱码解决
- gdb 调试高级命令