java从入门到精通----servlet09
3)DAO的优点
a.DAO封装了数据访问逻辑,调用者不用关心数据访问逻辑是 如何实现的。这样,代码更好维护。
b.方便测试。如果将数据访问写在servlet里面,需要部署 整个应用才能测试。
1.jsp
(1)jsp是什么?
sun公司制订的一种服务器端动态页面技术规范。
注:
虽然使用Servlet也可以生成动态页面,但是过于
繁琐(需要使用out.println语句),并且不利于页面的
维护(比如,要修改页面就必须修改java代码),所以,sun
才制订了jsp技术规范。
jsp其实是一个以.jsp为后缀的文件,主要内容是
html和少量的java代码。容器会将jsp文件转换成一个对应的servlet然后执行。
jsp的本质就是一个servlet。
(2)如何写一个jsp文件?
step1. 添加一个以.jsp为后缀的文件。
step2. 在该文件里面,可以使用如下元素:
1)html(css,javascript)
直接写即可。
2)java代码
方式一 java代码片断
<% java代码 %>
方式二 jsp表达式
<%= java表达式 %>
3)隐含对象
a.什么是隐含对象?
直接可以使用的对象,比如out、request、response。
b.为什么可以直接使用这些隐含对象?
因为容器会自动添加获得这些对象的语句。
4)指令
a.什么是指令?
通知容器,在将jsp文件转换成一个Servlet类时,
做一些的额外的处理,比如导包。
b.指令的语法
<%@ 指令名 属性=值 %>
c.page指令
import属性:用于指定要导的包名。
比如
<%@ page import="java.util.*,java.text.*"%>
contentType属性:设置response.setContentType方法的内容。
pageEncoding属性:告诉容器,在读取jsp文件的内容时,使用指定的字符集来解码。
(3)jsp是如何执行的?
1)阶段一 容器将.jsp文件转换成一个Servlet类。
html(css,js) ----> service方法里面,使用out.write输出。
<% %> -----> service方法里面,照搬。
<%= %> -----> service方法里面,使用out.print输出。
2)阶段二 容器调用该Servlet
需要编译、实例化、然后调用service方法。
练习 写一个date.jsp,输出当前的系统日期,比如
输出 "2018-10-31"