jsp:
1.动态网页技术
2.以java为脚本语言
jsp在idea中的创建:点击web 创建jsp
jsp运行的原理:
1.翻译:把jsp页面翻译成.java文件
2.编译:把java文件编译成字节码文件
3.运行:执行字节码文件
初次请求不修改代码 需要走完三步 ,再次请求 直接回运行字节码文件
1.jsp是一个特殊的servlet
2.具有servlet生命周期的三个方法 _jspinit() _jspservice() _jspdetory()
3.在响应体中写页面
jsp与servlet的区别:
jsp: 页面展示 jsp继承HttpJspBase===》HTTPServlet 简版servlet
提供九大内置对象和四大作用域对像
servlet:处理请求和响应 功能强大 两个域对象
jsp页面组成:
1.前端部分:html+css+js
2.脚本 表达式 声明 注解
3.指令:page include taglib
脚本:
1.直接在页面写java代码 :<% ........... %>
表达式:
1.在页面直接打印数据:<%=num%>
注释:<%-- ........ --%>
声明:可以程名成员变量或成员方法
<%! %>定义的变量就是成员变量 声明的方法就是成员方法
指令:
1.page:contentType ="text/html" charset(页面格式 编码格式) language
errorPage="" 错误时跳入
导包
2.include:用于引入项目中的公共代码文件或者界面
语法:<%@include file="">
3.taglib:用于引入第三方表达式(标签库)
语法<%@taglib prefix=" c" url="">
二 . el表达式:
1.简化jsp代码 2.可以做一些简单的进本运算 3.可以避免一些异常
语法:$(变量名) 只能获取到域对象中值 数据要存入域对象中
2.逻辑运算符:&& || !
3.关系运算符:== < > empty
el表达式获取域中的值:${键}
el获取对象的属性 对象必须有get()set()方法 ${user.name}
el获取数组:${str[0]}
el获取集合:${list.get(0)} ${list[0]}
map:${map.get("0")} ${map,w}
三.解决乱码:
1.配置文件:c3p0
2.tomcat:server.xml
3.设置servlet的请求和响应的编码格式:req.setCharacterEncoding()