jsp是表现的页面文件,其实jsp也是servlet,只不过,jsp更好的融合了html代码,而且servlet中写html简直是草菅人命.
区别是jsp是页面处理,servlet是控制器,是mvc中的c,作用和struts的action,springmvc中的controller相似的,只不过他们都是底层封装的servlet.servlet的对象比如request,response,session等等是需要引包申明的,而jsp中的这些对象变成来 内置的.
为了方便jsp中方便插入java代码,jsp用了五种脚本来方便这样的行为.
注释:
<%– 注释 –%>,在jsp翻译成的java中是不显示的.
脚本:
<% 代码 %>这里写java代码,在翻译的java文件中可见.
比如:
<%
String path=request.getContextPath();
//session传值
String key=request.getAttribute("key");
%>
表达式:
<%= 表达式%>这里写变量,翻译后可见.在页面的合适为位置动态显示:
声明:
<%! 声明 %>,这里就像我们写代码是的声明一样,但是并不常用.
命令:
<%@ 命令内容 %>翻译之后可见,这个也是一个重点,主要是他们表现形式多,需要记,比如s标签,c标签,编码格式,静态引入等等.举例子:
//编码格式
<%@page pageEncoding="utf-8"%>
//引包
<%@page import="包路径"%>
//session设置
<%@page session="false"%>
//s标签
<%@taglib uri="struts-tags" prefix="s"%>
//c标签
<%@taglib uri="http://java.sum.com/jsp/jst1/core" prefix="c"%>
//静态引入
<%@include file="路径"%>
s标签和c标签,都是可以变得,就是说你想用prefix中的内容是可变的,但是前辈如此标示,我们也沿用.