JSP入门
jsp入门
java server page
在eclipse工具下可以直接新建一个jsp页面,jsp页面可直接放于web应用的根目录及其子目录下
jsp被访问后,会被web容器翻译成一个Servlet,通过查看jsp翻译完成的Servlet可快速入门jsp,
翻译后的Servlet位于 %tomcat安装目录%\work\Catalina\localhost\web应用目录下
1. web资源的运行原理
html: 静态web资源,DefaultServlet读取html文件,通过response输出给IE浏览器
Servlet: 动态web资源,web容器(Servlet引擎)解析web.xml文件,找到url对应的java类
通过反射创建Servlet对象,调用service方法
Class.forName(“cn.itcast.servlet.Servlet1”).newInstance();
jsp: 动态web资源
jsp页面在第一次被访问的时候,web容器(jsp引擎)会将jsp翻译成一个Servlet,然后调用servlet的
service方法
jsp 翻译后的Servlet会被放到
%tomcat安装目录%\work\Catalina\localhost\webcontext
当jsp页面被再次访问的时候,web容器会去直接调用Servlet的方法,所以通常来讲 jsp 只是在第一次被访问的时候比较慢
如果jsp页面做了修改,此时web容器会重新翻译jsp
2. jsp 是什么
实际上 jsp 就是 Servlet , 只是提供了一种比较直观的书写方式,因为写jsp就像在写Html
jsp中可以写 java 代码, 有两种写法
1) jsp 脚本表达式
内容会被放到 out.print() 里面 输出个浏览器
<%=new Date() %>
2) jsp脚本片段
内容会原封不动地被翻译到 Servlet 的service方法中
<%
// java 代码
%>
3. jsp 和 Servlet的区别
1) Servlet 适合写java代码,因为Servlet就是一个java类
在开发中使用Servlet对用户发送的请求进行处理并做出响应
2) jsp 适合做数据美化,作为 数据显示模板
因为jsp页面直接书写HTML标签
3) 项目中的web层通常使用mvc设计模式 Servlet+jsp+javabean
其中, Servlet做控制器,处理用户请求
jsp作为显示模板
javabean 作为封装数据的实体
4) 如何养成一种良好的编码风格
在Servlet中应避免做任何的数据输出
在 jsp 中应避免去直接书写java代码, 而实际上要做到这点很难, 所以需要用到 el 和 jstl
关键点: jsp会被翻译成Servlet jsp脚本会被翻译到service方法中
jsp和Servlet的区别