javaweb----part5 jsp

jsp是将java的实现逻辑和HTML 结合到了一起.
jsp的原理就是 jsp代码在第一执行的时候会生成一个Java文件,
然后编译成class文件,里面就相当于之前写的servlet文件.
jsp中的page指令用来指导页面中的某些特性
有多个属性.‘
language="java"
pageEncoding="UTF-8"
contentType="text/html;charset=UTF-8" 指定响应头的信息
import="" 需要导入的java包
session="boolean" //是否创建session
errorPage="url" //指定此jsp错误跳转的页面
isErrorPage="boolean " //是否指定此jsp是错误处理页面 可以拿到exception的信息

page里面设置errorPage="url" 指定错误页面
1.防止系统内部的错误信息通过报错泄露给访问者
2.展示友好的可视化的报错页面,避免用户的恐慌
3.有机会把程序没有处理的异常记录下来,方便程序员来发现错误
在xml中配置统一配置错误页面
<error-page><error-type></error-type><loaction></location></error-page>
<error-page><error-code></error-code><loaction></location></error-page>
location以"/"开头

jsp的对象,
都可以用setAttrbute()键值对的方式来设置属性,
然后getAttrbute来获取属性

pageContext对象有一个findAttrbute()方法
依次从pageContext/request/session/application里面
去寻找name=value的键值对然后把值返回;
只要找到就返回,不会再继续往后去寻找覆盖.
统一配置错误页面
<error-page>
<exception-type>java.lang.Throwabke</exception-type>
<location>/Error.jsp</location>
</error-page>
<error-page>
<error-code>404</error-code>
<location>/error/404.jsp</location>
</error-page>

1.浏览器不直接访问jsp文件,而是直接去找servlet文件
2.servlet把数据准备好,然后 forward给给JSP去显示
3.servlet和JSP直接传递数据,不要传递ResuleSet,
而是传递普通的对象或者对象集合.

forward 和sendRedirect的区别
1.如果逻辑是服务器处理的,"/"就可以表示项目的跟目录
如果逻辑是浏览器处理的,就不能加"/".
2.sendRedirect发次两次请求,两次请求的数据不共享;
第一次请求浏览器的请求,第二次请求重定向之后的请求.
而req.set是把属性存在了第一个域名的网站上。
req.get就无法再第二个域名吧属性取出来.

时间: 2024-10-09 09:20:19

javaweb----part5 jsp的相关文章

javaweb之JSP+Servlet

javaweb之JSP+Servlet 使用java开发web项目时,可以在后端使用Servlet,前端使用JSP,下面就介绍一下这两者的配合使用. Servlet Servlet的概念其实很简单,本质是一个遵从Servlet开发出来的java类.运行在 Web 服务器或应用服务器,它是作为来自 Web 浏览器或其他 HTTP 客户端的请求和 HTTP 服务器上的数据库或应用程序之间的中间层. 图片来自https://www.runoob.com JSP JSP(全称Java Server Pa

JavaWeb系列-JSP基础语法

JSP注释(页面中,右键->查看源代码是否可见) 1.客户端可见的显式注释 <!-- 注释内容 --> 2.客户端不可见的隐式注释 单行注释    //注释内容 多行注释    /*注释内容*/ JSP注释     <%-- 注释内容 --%> 显式内容会发送到客户端,而隐式内容不发送到客户端 Scriptlet 所有在嵌入在HTML代码中的Java程序都必须使用Scriptlet标记出来. <%%> 可在标记中定义局部变量.编写语句 <%!%> 可在

【转】JavaWeb学习----JSP简介及入门(含Eclipse for Java EE及Tomcat的配置)

?[声明] 欢迎转载,但请保留文章原始出处→_→ 生命壹号:http://www.cnblogs.com/smyhvae/ 文章来源:http://www.cnblogs.com/smyhvae/p/4046862.html [前言] JSP本身是JavaWeb中的知识,但是在学习Android网络时,必然要涉及到与服务器之间的交互,所以学一下JSP以及其他JavaWeb的内容还是很有必要的,至少能明白程序在访问服务器时,整个过程的原理. 其实,在学习Android之前,Java和JavaWeb

javaWEB与JSP指令

JSP三大指令  一个jsp页面中,可以有0~N个指令的定义! 1. page --> 最复杂:<%@page language="java" info="xxx"...%>  * pageEncoding和contentType:    > pageEncoding:它指定当前jsp页面的编码,只要不说谎,就不会有乱码!在服务器要把jsp编译成.java时需要使用pageEncoding!    > contentType:它表示添加

JavaWeb之Jsp/EL(八)

JSP(Java Server Page) 1. jsp简单介绍 JSP全称是Java Server Pages,它和servle技术一样,都是SUN公司定义的一种用于开发动态web资源的技术 JSP这门技术的最大的特点在于,写jsp就像在写html,但: 它相比html而言,html只能为用户提供静态数据,而Jsp技术允许在页面中嵌套java代码,为用户提供动态数据 相比servlet而言,servlet很难对数据进行排版,而jsp除了可以用java代码产生动态数据的同时,也很容易对数据进行排

JavaWeb之 JSP基础

什么是JSP JSP的全称是java server page, java服务页面.是提供java服务的页面~ 那么和Servlet有什么区别呢?JSP的页面既可以写java代码~也可以写html代码哦!! JSP的特点 JSP的作用:JSP是主要用来开发动态资源的技术~ 那么JSP怎么运行呢?我这里交给Tomcat服务器运行了~ Jsp运行的目录 %tomcat%/work是tomcat服务器运行jsp页面的临时目录. 那么我们来看看JSP的原理,JSP是怎么运行的~ 我们用浏览器输入: htt

MyEclipse2014配置Tomcat开发JavaWeb程序JSP以及Servlet(转载)

转载地址:http://blog.csdn.net/21aspnet/article/details/21867241 1.安装准备 1).下载安装MyEclipse2014,这已经是最新版本. 2).下载Tomcat 官网:http://tomcat.apache.org/ 我们选择8.0: http://tomcat.apache.org/download-80.cgi 在windows下选择64位解压版:http://mirror.bit.edu.cn/apache/tomcat/tomc

MyEclipse2014配置Tomcat开发JavaWeb程序JSP以及Servlet

1.安装准备 1).下载安装MyEclipse2014,这已经是最新版本. 2).下载Tomcat 官网:http://tomcat.apache.org/ 我们选择8.0: http://tomcat.apache.org/download-80.cgi 在windows下选择64位解压版:http://mirror.bit.edu.cn/apache/tomcat/tomcat-8/v8.0.3/bin/apache-tomcat-8.0.3-windows-x64.zip 下载好以后在本地

JavaWeb之 JSP:内置对象,EL表达式,JSP标签基础

JSP的内置对象 什么是JSP的内置对象呢? 在JSP页面进行编程的时候,如果我们要使用一些对象,如:HttpSession,ServletConfig,ServletContext这些对象,如果每次都要先创建这些对象,然后再去使用它们,这样就显得十分繁琐了,为了方便使用者,Sun公司在开发JSP的时候,把一些对象设置为内置对象,开发者在JSP页面编程的时候不必声明这些对象就能直接使用,这就是JSP的内置对象. 那么JSP对象有哪些呢? JSP内置对象          对应的类型   备注 R

深入分析JavaWeb Item13 -- jsp指令具体解释

一.JSP指令简单介绍 JSP指令(directive)是为JSP引擎而设计的.它们并不直接产生不论什么可见输出,而仅仅是告诉引擎怎样处理JSP页面中的其余部分. 在JSP 2.0规范中共定义了三个指令: page指令 Include指令 taglib指令 JSP指令的基本的语法格式:<%@ 指令 属性名="值" %> 比如: <%@ page contentType="text/html;charset=gb2312"%> 假设一个指令有多