JavaEE 技术规范 平台
servlet缺点,为什么会出现jsp技术?
因为Servlet当初的
设计目的是用来产生网页的程序,所以所有的页面必须在Servlet中进行构造,这样做的效率在当今来说,真的很低下,所以对于Servlet来说,它是很不利于展现的,不过它很适合于对数据的处理,所以很适合于充当控制器来使用。因为Servlet构建页面实在够差,所以后来SUN推出了JSP来一改Servlet引入的尴尬。
jsp = html+java片段+jsp标签+javascript+css
JSP(Java Server Pages):在HTML中嵌入java脚本语言;由引用服务器中的JSP引擎来编译和执行嵌入的java脚本语言命令;然后将生成的整个页面信息返回给客户端。
jsp功能强大是因为可以与javabean结合使用(即jsp作前台,javabean作后台===>Model1)
jsp+javabean的基础上再结合servlet(做控制),就会构成MVC的开发模式,
MVC模式是目前
软件公司通用的开发模式。
如何手工部署一个web项目?
WebRoot项目名
|-WEB-INF
|-web.xml 部署文件
|-classes .class
|-lib *.jar
|-jsp
|-js
|-css
|-index.jsp
虚拟路径配置
path="/hello" url
docBase="D:\
webSite" 项目路径
JSP页面的元素包括:
静态内容:
HTML静态文本
(一)指令元素: 以"<%@ "开始,以"%>"结束,用于从jsp发送一个信息到容器,如设置文字编码,引入包等
如:
设置MIME类型<%@ page contentType="text/html;charset=gbk" %>
ps:MIME类型就是设定某种扩展名的文件用一种应用程序来打开的方式类型,当该扩展名文 件被访问的时候,浏览器会自动使用指定应用
程序来打开。多用于指定一些客户端自 定 义的文件名,以及一些媒体文件打开方式。
导入所需要的包<%@ page import="java.util.*,java.io.*"%>
包含某个文件 <%@ include file="filename" %>
<%@ tagilb url="" prefix="" %> jstlJSP (标准标记库 JSP Standard Tag Library)
(二)脚本元素:在一定程度上可以理解就是java的片段
1、脚本: <% java代码 %> 局部变量
2、表达式: <%=java表达式 %> 输出变量 表达式
3、声明: <%! 变量、方法%> 全局变量
(三)动作元素:
xml:namespace prefix = jsp />
===>request.getRequestDispatcher("xxx").forward(request,response); forward(服务器端跳转) redirect(客户端跳转)
class值指明用到的哪个bean,id是bean的一个实例,相当于指定对象名
name表示某一个对象名,proper
ty表示哪个属 性,value是具体的值,相当于调用了name .setProperty(value)这个方法
相当于调用name.getProprty();
其中scope四大属性范围:
1 page: 当前页面(默认)
2 request 一次请求
3 session 一次会话
4 application web应用程序
用法一:
用法二:
与<%@ include file="" %>有何区别?
答:{ ~前者是指令元素、后者是行为元素。<%@ include file=” ”%>,jsp的include指令元素读入指定页面的内容。并把这些内容和原来的页面融合到一起。(这个过程是在翻译阶段:也就是jsp被转化成servlet的阶段进行的。jsp页面是把include指令元素所指定的页面的实际内容(也就是代码段)加入到引入它的jsp页面中,合成一个文件后被jsp容器将它转化成servlet。可以看到这时会产生一个临时class文件和一个java文件。
~主要有两个方面的不同;
一:执行时间上:
<%@ include file=”relativeURI”%> 是在翻译阶段执行
在请求处理阶段执行.
二:引入内容的不同:
<%@ include file=”relativeURI”%>
引入静