Servlet:JSP理解
2015-11-19 14:36
429 查看
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注释
* 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注释
相关文章推荐
- JavaScript正则表达式实例
- JS实现——Base64编码解码,带16进制显示
- javascript 进制转换(2进制、8进制、10进制、16进制之间的转换)
- javascript Date format(js日期格式化)
- JSON的简单使用之提取多层嵌套的JSON(C#)
- js获取各种屏幕高度
- js拖拽的封装
- 千里码-扫地机器人
- js中~符号的意义
- 坑爹错误——NSJSONSerialization 反序列化失败
- 对js运算符“||”和“&&”的总结
- js中this关键字的指向问题
- ajax跨域获取json
- jstorm
- NSJSONSerialization用法
- JS当中的数组如果通过JSON格式传递到后台
- javascript、css、html来制作交互式网页的一些必备技巧
- JavaScript 性能优化
- js总结
- Python 与 Javascript 之比较