JSP小记
0、配置servlet的模板
1、找Jar文件:\Common\plugins (myeclipse.ini文件中查看)
* com.genuitec.eclipse.wizards*.jar
2、找模板文件
* templates目录/servlet.java
1、什么JSP
* servlet:java编写的处理动态web的技术
* 特点:Java代码中嵌套html代码
* jsp
* 特点:HTMl代码中嵌套java代码
* %tomcat%/conf/web.xml --> <servlet-mapping><servlet-name>*.jsp
* 目的:将页面数据处理与页面显示相分离
2、JSP是如何工作的
* 继承关系
* public final class demo_jsp extends org.apache.jasper.runtime.HttpJspBase
* public abstract class HttpJspBase extends HttpServlet implements HttpJspPage
* 总结:demo_jsp --> HttpJspBase --> HttpServlet
* tomcat调用servlet引擎处理JSP页面
* 位置: %tomcat%/conf/web.xml --> serlvet(*.jsp) --> org.apache.jasper.servlet.JspServlet
* 在web context root 读取指定的文件
*/demo.jsp
* 将读取的文件分析,生成相应的servlet文件,java源文件
* demo_jsp.java
* 目录:%tomcat%\work\引擎\主机\项目名\org\apache\jsp
* 将生成的Java文件,编译成字节码文件
* demo_jsp.class
* 通知servlet引擎处理当前生产好的servlet
3、JSP语言
* JSP指令:配置页面的信息,提供给JSP引擎生产java源文件
* 格式:<%@ 指令 [attribute="value"]%>
* 位置:建议放置带页面的头部
* page指令
* 格式:<%@ page ...%>
* 属性配置:
* pageEncoding:配置当前页面保存信息的编码
* contentType:配置当前页面生成的servlet文件响应浏览器的编码
* response.setContentType("text/html;charset=UTF-8");
* 比较:
* 仅有pageEncoding
* 配置当前页面的编码
* 配置生成servlet文件响应浏览器的编码
* 仅有contentType
* 配置当前页面的编码
* 配置生成servlet文件响应浏览器的编码
* 两个都有
* pageEncoding仅设置当前页面的编码
* contentType仅设置servlet文件响应浏览器的编码
* import:引入当前JSP页面需要使用的Java类或接口的包路径
* 可以重复引用
* 多个之间可以使用逗号分隔
* 导包最后一条可以输入多个分号
* language:确定当前jsp页面使用的语言
* 默认:java
* info:确定当前页面的输出信息
* session:确定当前页面是否可以使用session
* 默认:ture
* extends,确定当前jsp页面在生成servlet文件时,继承的父类
* 扩展
* 例如:page extends="java.lang.String"
* isErrorPage:是否是错误页面
* 默认值:false
* 当设置成true,在当前页面将可以使用一个变量 exception
* errorPage:确定错误页面
* 当页面出现异常时,跳转的页面
* / 指 context root
* isThreadSafe:是否是线程安全
* 默认值:true
* 如果设置成false,在生成的java源码中添加implementsSingleThreadModel
* isELIgnored:是否忽略EL表达式
* 默认值:false
* 如果设置true,将忽略EL表达式
* buffer:当前servlet文件的缓存区大小
* 默认值是8kb
* autoFlush:是否自动刷新,当buffer缓存区被填写满后,会自动的刷新内容到浏览器
* include指令
* 静态包含:引入其他页面,将其他页面与当前页面合并成一个页面后,再显示给浏览器
* taglib指令
* java标签库
* JSP脚本元素
* 声明标签
* 格式:<%! Java方法或字段 %>
* 此标签中的内容,在JSP引擎生产servlet文件时,将直接拷贝。放置在当前类
* 表达式标签
* 格式:<%= java表达式 %>
* 例如:String str = "abc" + "def ";
* 等于与 out.print( 表达式 );
* 将表达式的结果输出到浏览器
* 代码块标签:
* 格式:<% java代码片段 %>
* 任何方法里面的内容
* 将标签内容完成拷贝,放置到service方法体中
* 总结:
* 脚本元素不能嵌套使用
* 不能在html注释中使用
* JSP注释
* 格式:<%-- 注释内容 --%>
* HTML注释:<!-- 注释内容 -->
* Java注释:
* 行注释://注释内容
* 块注释:/* 注释内容 */
* 标准JavaDoc注释:/** 注释内容 */
* 总结
* HTML源码 Java源码 JSP源码
html 有 有
java 无 有
jsp 无 无
* 结论:JSP注释,仅在源码级别有效
* JSP的内置对象
* 个数:9
* 在JSP页面中隐藏的Java对象
* 1、Object page : 当前类的引用
* 作用范围:当前页面
* 2、HttpServletRequest request
* 作用范围:一次请求(可能涉及多个JSP或Servlet,转发)
* 3、HttpSession session
* 作用范围:一个会话
* 4、ServletContext application
* 作用范围:整个web相应
* 5、ServletConfig config
* 当前servlet的配置
* 可以单独配置,把JSP文件当成servlet使用
* 配置文件的位置:WebRoot/web.xml
* 内容
<!-- 注册jsp -->
<servlet>
<servlet-name>jspfile</servlet-name>
<jsp-file>/obj.jsp</jsp-file>
<init-param>
<param-name>user</param-name>
<param-value>lt</param-value>
</init-param>
</servlet>
<!-- 映射 -->
<servlet-mapping>
<servlet-name>jspfile</servlet-name>
<url-pattern>/jsp</url-pattern>
</servlet-mapping>
* 注意:
1、使用tomcat,servlet引擎
http://localhost:8080/day08/obj.jsp
2、自定义访问路径
http://localhost:8080/day08/jsp
* 6、HttpServletResponse response
* 响应
* 注意:使用的Writer,所以getOutputStream会出现异常
* 7、Throwable exception
* 错误页面中获得异常信息
* 8、JspWriter out
* public class JspWriterImpl extends JspWriter {
* abstract public class JspWriter extends java.io.Writer {
* public class PrintWriter extends Writer {
* 9、PageContext pageContext
* 当前JSP页面的上下文对象,管理当前JSP页面的
* 具有其他隐式对象的引用
* 设置属性的值
* 在不同的作用域设置属性值
pageContext.setAttribute("user","liang_page",PageContext.PAGE_SCOPE);
pageContext.setAttribute("user","liang_request",PageContext.REQUEST_SCOPE);
pageContext.setAttribute("user","liang_session",PageContext.SESSION_SCOPE);
pageContext.setAttribute("user","liang_application",PageContext.APPLICATION_SCOPE);
* 从不同的作用域获得属性值
<%=pageContext.getAttribute("user",PageContext.PAGE_SCOPE) %><br/>
<%=pageContext.getAttribute("user",PageContext.REQUEST_SCOPE) %><br/>
<%=pageContext.getAttribute("user",PageContext.SESSION_SCOPE) %><br/>
<%=pageContext.getAttribute("user",PageContext.APPLICATION_SCOPE) %><br/>
* 从不同的作用域,依次查询需要的属性值
* <%=pageContext.findAttribute("user") %>
* page、request、session、application
JSP小记的更多相关文章
- jspf、jsp小记
jsp页面:
- jsp 小记
1. select 默认选中: <select name="skills" multiple="true"> <option value=&q ...
- JSP+Servlet+DAO+Javabean模式小记-20171029
1.Servlet的doPost方法使用request.getParameter()接收网页传送的form表单数据时,必须使用name属性,而不能使用id. 2.这是最简单的MVC模式,其中M(mod ...
- jsp学习小记
- JSP session过期时间(小记)
以下情况,Session结束生命周期,Servlet容器将Session所占资源释放:1.客户端关闭浏览器2.Session过期3.服务器端调用了HttpSession的invalidate()方法. ...
- JSP乱码(小记)
Post提交乱码: 设置请求的编码方式: request.setCharacterEncoding("utf-8"); 设置响应的编码方式: response.setCharact ...
- myeclipse学习总结一(在MyEclipse中设置生成jsp页面时默认编码为utf-8编码)
1.每次我们在MyEclispe中创建Jsp页面,生成的Jsp页面的默认编码是"ISO-8859-1".在这种情况下,当我们在页面中编写的内容存在中文的时候,就无法进行保存.如下图 ...
- jsp前端实现分页代码
前端需要订一page类包装,其参数为 private Integer pageSize=10; //每页记录条数=10 private Integer totalCount; //总记录条数 priv ...
- jsp中出现onclick函数提示Cannot return from outside a function or method
在使用Myeclipse10部署完项目后,原先不出错的项目,会有红色的叉叉,JSP页面会提示onclick函数错误 Cannot return from outside a function or m ...
随机推荐
- ARCH和LGWR进程同步DG日志的区别
ARCH和LGWR进程同步DG日志的区别 我在做Standby RAC实验时,起初使用的是ARCH传输,后来将其改为LGWR传输(实际是LGWR分出的小工进程LNS): --之前的设置 alter s ...
- Prerequisite check "CheckActiveFilesAndExecutables" failed.
错误日志: [Aug , :: AM] Prerequisite check "CheckActiveFilesAndExecutables" failed. The detail ...
- JavaScript实现浏览器本地的图像移动、大小调整和裁剪
本文介绍如何使用和HTML5 Canvas元素来移动.调整大小和裁剪图像,这些技术适用于图片编辑器.照片分享等应用场景. 一般而言图像的剪裁会放在服务端进行,但是图片传送会消耗较多的流量.借助HTML ...
- JavaScript基础知识(二)
一.JavaScript事件详解 1.事件流:描述的是在页面中结束事件的顺序 事件传递有两种方式:冒泡与捕获. 事件传递定义了元素事件触发的顺序. 如果你将 <p> 元素插入到 <d ...
- LINUX环境并发服务器的三种实现模型
服务器设计技术有很多,按使用的协议来分有TCP服务器和UDP服务器.按处理方式来分有循环服务器和并发服务器. 1 循环服务器与并发服务器模型 在网络程序里面,一般来说都是许多客户对应一个服务器,为了 ...
- 谈谈出入React框架踩过的坑
1 在JSX的元素中写入内联样式,例如<div style={"color:blue"}></div> 报错:warning:Style prop valu ...
- [js高手之路] dom常用节点属性兼容性详解与应用
一.每个DOM节点都有一个nodeType属性,表示节点类型, NodeType一共有12种类型,我们可以通过遍历内置的Node构造函数获取 window.onload = function(){ v ...
- NetBeans主题配色方案加设置.md
1.网上下载主题的地址是:http://netbeansthemes.com/ **上面的主题我看了下但是感觉不太适合自己所以自己就仿照的设置了下下面我附上自己的配置信息 感兴趣的可以下载下来自己看下 ...
- WPF控制动画开始、停止、暂停和恢复
1.闲言 好久也没更新一博客了,自己有点发懒,同时确实这几个月来也有点忙.风机监测软件,项目中,有这样一个小需求:正常风机在旋转的时候,上位机软要做一个风机的图片,让它不停地旋转,一但检测到下面风机停 ...
- 【Centos】yum 安装mariaDB
[dream361@za ~]$ sudo yum search mariadb #查找需安装的包 mariadb-libs.x86_64 : The shared libraries require ...