J S P笔记-CAL-FENGHAI-(2020YEAR-YICAI)_JINGBIAN
JSP(Java Server Page)
JSP是服务器端运行的页面,JSP本就是一个文档,他不仅可以包含静态的HTML代码,也可以包含动态的JAVA代码,服务器容器可以将JSP转换成Servlet发布,并接受请求。
Jsp文件只需放在应用文件下就可以了。
JSP例子:
time<%=new java.util.Date()%>
JSP运行过程
1,JSP文件先要翻译成Java文件(Servlet),在tomcat中翻译后的java文件在tomcat下的work\Catalina\localhost中相应名字的应用目录里。2,编译Java 文件3,运行.class文件Tomcat的全局配置文件
在Tomcat下的conf目录中的web.xml是服务器全局的配置文件,其中要想关闭列表显示叫要把
listings
false
Tomcat的管理员设置
在tomcat下的conf目录中的tomcat-use.xml文件中可以配置tomcat的用户角色
JSP的特点
1,JSP不需要编译
2,JSP不需要进行配置
3,JSP本质上就是一个Servlet
4,JSP是以静态页面为主的。
JSP的语法格式
<%=...%>表达式,写表达式时不要加上分号,表达式,翻译成Java代码也就是直接使用流输出,也就不能加分号了。
<%! int a=0; %>声明,使用声明的变量,所创建的变量是在service方法体外,也就是翻译成实例变量,声明也可以声明内部类或者是方法的声明。
<% if(a==0){ a=3;}%>代码片断,代码段会原样翻译。在代码段中声明的变量,就会被翻译的service的方法体中,也就是被翻译成局部变量。
前三种JSP的语法也叫做JSP代码,以上的表示方法,都有与之相对应的xml表达形式,因为可读性较差,所以较少使用。
<%@ ... %>JSP指令
<%@page import="...,..."%>引入包
<%include file="...."%>直接引入内容,这些内容会直接嵌入到页面中。
JSP的注释
<%https://www.360docs.net/doc/de1051143.html,ment[<%=expression %>.--%>
Eg.001:
<
JSP指令和JSP动作(标准的JSP标签)
JSP指令的语法
<%@... ....%>
<%@include file="...."%> 包含指令,包含指令会将要包含的文件代码原样输出到本页面(在翻译时把包含文件的内容引入并合并),不进行翻译,file属性制定要包含的文件的名字(注意要包含的文件的路径),这个指令可以实现页面的复用。
注意:<%@include file=" "%>要包含的JSP文件中不能定义重名的变量,如果不使用包含指令,那么JSP中的最小转换单元就是JSP文件,使用了包含指令就会将多个jsp的结果合并到一起。
<%@page ..%>页面指令
<%@page import="..."%> 引入包例:<%@page import="java.util.*,ent.*"%>(可出现多次)
<%@page pageEncoding="GBK"%>设定页面显示的字符集
<%@page contentType="text/html;charset=GBK"%>设置输出流的编码方式和文件格式。
注意:输出的字符集编码方式要和页面显示的字符集相同,一般定义输出流的编码方式,注意以上两个页面指令在JSP中最好只出现一次。注意在请求中传送的参数的值是中文的话需要调用请求request的
setCharacterEncoding("..")方法设置相应的编码方式,只适用于post请求,也可以通过Servlet的Filter来进行中文编码方式的处理。
<%@page language="java"%>指定JSP的脚本语言,现在只能写java
<%@page extends=".."> 指定翻译后代码类型的父类,最好不要使用这个指令<%@page session="true|false"%>指定是否自动创建Session,最好不自己指定,使用默认值
<%@page buffer=".." autoflush="true|false"%>设置输出的缓存和是否自动刷新缓存,一般情况下都使用默认值,缓存的默认值为8KB。
<%@page isThreadSafe="true|false"%>是否线程安全,默认为true,也就是线程安全,只使用默认值。
<%@page info=".."%>设置页面信息,一般不用
<%@page errorPage=""%>指定异常处理页面
<%@page isErrorPage="true|false"%>设定本页面就是异常后跳转的页面
<%@page isELIgnored="true|false"%>设定本页面是否忽略JSP2.0种EL表达式<%@taglib ..%> 标签库指令,用于引入自定义标签库
JSP动作
include动作是在翻译和编译后运行时进行响应的合并,也就是对应了Servlet中RequestDispatcher类的
include(ServletRequest request, ServletResponse response)方法。
include动作可以传递参数
在使用参数时,可以用request内置对象来获取参数的值。
forward动作对应的是Servlet中RequestDispatcher类的forward(ServletRequest request, ServletResponse response)方法,也就是把请求进行转发。
也可以写成
xxx/xxx.jsp
这种写法等价于上面的写法。
在使用Servlet的response的重定向sendRedirect(String location)方法在使
用时要包含应用的路径,注意,重定向会放弃这个请求,并向服务器发送一个新的请求,但是响应对象还是一个。重定向是用来避免重复提交的。
注意:对页面的刷新操作就会再一次运行程序,也就仿佛进行了再一次的提交一样,这也就是重复提交的问题,所以需要使用重定向来解决这个问题。
...
jsp:plugin动作可以使页面上运行applet,或者是使用java代码。
jsp:useBean动作,可以通过这个动作来使用java代码,id就是变量名,clss和type的区别在于,使用type是不会创建对象,而只是会先查找如果有该对象就会使用,如果没有就会抛出异常,class在没有该对象存在时,则会创建新对象。scope是用来保存实例的空间范围,page、request、session、application,由小到大,默认为page。
直接指定Bean属性的值,必须类型一致。
用表单中指定的参数来为Bean属性赋值,系统会自动作类型转换。
用表单中和Bean属性同名的标单项来给Bean属性赋值,这样写只会为指定的属性赋值
这种方式会自动用表单中的同名参数来为Bean的所有属性赋值
使用表达式来为Bean的属性进行赋值
取得指定的属性,这个动作不常用,一般用表达式代替
我们可以通过设置属性名的方法名也就是setXxxx()来控制属性的赋值,用form 表单的参数为Bean的属性赋值时,系统会自动的调用与之同名属性的setXxxx()方法,尤其是日期类型,可以通过使用这一方法来处理。
例:
import java.sql.*;
public class Person{
private Srting name;
private Date birthday;
public void setName(String name){
https://www.360docs.net/doc/de1051143.html,=name;
}
public void setBirthdayAsString(String birthday){
this.setBirthday(valueOf(birthday));
}
public void setBirthday(Date birthdays){
this.birthday=birthday;
}
}
add.jsp
toadd.jsp
JavaBean和EJB的区别
JavaBean是可视的或者是不可视的,不用部署,EJB是不可视的,需要部署到服务器中。
JavaBean部署在应用程序中, EJB是部署在容器中,可以是有状态或者是无状态的,声明式事务。
JavaBean的属性和方法是普通的,EJB是需要遵守规范,是需要通过标准的描述符来定义的。
JavaBean是基于事件驱动的,EJB中只有消息驱动Bean是基于事件的
注意:jsp:useBean动作,用表单为Bean的属性赋值时,也就是jsp:setProperty 动作直接收请求中表单的信息为使用的Bean的属性进行赋值,也就是说
jsp:useBean和jsp:setProperty不能够出现在为这个Bean的属性赋值的form表单的页面上。
JSP的异常处理
<%@page errorPage="xxx.jsp"%> 指定本页面出现异常后要转到的页面
<%@page iserrorPage="true"%> 见本页面指定为异常处理页面,也就是其他出异常的页面可以指定本页面为要转到的异常处理页面。
处理异常
运行时异常
1) 一个程序运行时重获的错误;
2) 能被一固有的异常对象引用所使用;
3) 可以利用异常引用创建或产生一个JSP页面显示异常信息给用户。
创建一个异常跟踪方案
1) 在每一个JSP页面,包含要创建的异常页面名称;
<%@page import="numberguess.NumberGuessBean" errorPage="error.jsp"%>
2) 创建一个异常页面;
<%@page isErrorPage="true"%>
JSP页面中的异常处理
1) <%=exception.toString()%> 打印异常名称;
2) <%exception.printStackTrace();%> 打印当前错误流中所有错误的列表;
3) <%=exception.getMessage()%> 打印错误的详细描述信息
JSP中异常页面的部署描述
404
notFound.html
https://www.360docs.net/doc/de1051143.html,ng.NumberFormatException error.jsp
JSP隐含内置对象
JSP中隐含内置对象
名称类型注释和范围
request javax.servlet.http.HttpServletRequest request response javax.servlet.http.HttpServletResponse response page https://www.360docs.net/doc/de1051143.html,ng.Object page
Exception https://www.360docs.net/doc/de1051143.html,ng.Throwable page
pageContext javax.servlet.jsp.PageContext page
韩顺平html笔记
HTML 一、HTML有关知识点 1.html介绍 html是一种标记语言,主要的用途是开发网页,使用html可以展现文字、图片、视频、声音,html是我们web开发(网站开发)。 2.html可以做什么 ?html可以编写静态网页 ?该静态网页可以包括文字、图像、动画、声音、表格、链接。从而构成一个个漂亮的网页 3.Html发展历史 4.Html的基本结构 5.是标记(也叫元素),标记的一般格式: <元素名[属性=“属性值”]>元素内容标签> 如果没有内容可以用:<元素名[属性=“属性值”]/> 6.Html实体标记 7.Html常用标记
?html超链接 ●_blank 新的窗口 ●_self 本窗口 ●_parent 父窗口 ●_top整个浏览器窗口 ?html图像元素 ?html表格
?无序列表
?有序列表
?框架
?表单元素
文本框: 密码框: 单选框: 复选框:checked是指默认选中的 隐藏域: 图片按钮: ?文本域:
?下拉菜单: