Servlet及JSP详解

JavaWeb程序 --> 将一个请求路径( 网络地址 ) 变成一条sql语句,发送给数据库进行查询; 会将获取的数据,通过页面的方式,展示给用户进行操作;

种创建Servlet的方式:

1、通过现实Servlet接口,重写全部方法;

2、通过继承GenericServlet抽象类,重写service()方法;

3、通过继承HttpServlet抽象类,重写自己需要的方法;(开发种常用)

一般情况下,Java程序,想要执行需要通过main方法,声明对象,使用对象进行调用方法; Servlet的使用

编写完成Servlet之后,需要将Servlet类与路径相互绑定;

Serlvet的生命周期: Servlet对象从出生、使用、死亡; Servlet会自己创建对象,然后自己调用自己 的生命周期方法;

总共3个生命周期方法;

1、init(ServletConfig servletConfig) 初始化方法,看成servlet对象的出生; 当servlet对象一旦被创建时,就会马上执行init方法

2、service(ServletRquest request , ServletResponse response) 服务方法,是servlet的主要方法,每当路径被请求时,就会执行此方法;

3、destroy() 结束方法,当Servlet对象一被销毁,在销毁之前的时间执行此方法;

学习servlet种的request 和 response

request:数据类型:HttpServletRequest 请求

包含:用户发送来的内容 以及浏览器的信息等等;

路径之后跟?key=value&key=value 浏览器请求参数,当用户使用get方式时,就是用户发 送的请求操作内容

用来接收用户从浏览器发送过来的数据

request.getParamter("key的名称") 获取到参数的value值

请求转发:表面上还是你这个路径,但实际显示的内容由转发后的对象进行处理;

只能转发给本程序中的路径; req.getRequestDispatcher("success.html").forward(req,resp);

 

请求转发和重定向的区别:

1、请求转发由request对象发出,只能发送给本项目中存在的路径 重定向由response对象发出,不仅可以发送给本项目中的路径还能够发送给外部路径;

2、请求转发中一共有一个请求,导致页面中的路径只会是请求的路径 重定向包含两个请求,一个是用户原请求,第二个是servlet做的重定向请求;

3、请求转发可以支持post、get的请求 重定向第一个请求post、get都支持,第二个请求只支持get方式

 

JSP

也是一种页面,java server pages java服务器页面;想要这个页面运行,必须通过服务器中启动跳转; 只能通过网络访问的方式查看效果,不能直接从本地通过浏览器打开;

与html有本质上的区别:

1、html是静态资源页面,jsp是动态资源页面,页面内的数据会改变;

2、html中只能使用标签,进行编写内容;jsp = html + java代码 + 指令 ;

jsp三大指令

在jsp页面最上方 <%@  指令名  属性.....%>

1、page 用来配置当前jsp页面中的相关信息

属性:contentType:用来配置当前jsp中文件的类型,以及编码格式

session:设置当前页面是否支持会话,false表示页面不支持session对象

isErrorPage:设置当前页面是否为错误页面

errorPage:指定哪一页面是错误页面

pageEncoding:设置当前页面的编码格式

import:向页面中导入Java的jar包

isELIgnored:用来设置当前页面中是否需要忽略el表达式

2、taglib:用来向jsp页面中导入 jstl表达式的

3、include:用来将多个页面合并成一个页面进行展示;

 

jsp的作用域

域:用来保存数据;只不过,不用的域大小不一样,保存的数据时间也不一样;

page域: 页面域,当前页面中的全部数据,整个页面都共享;pageContext 只能在本页面中进行使用

request域:请求域,在同一次请求中,所有数据共享;域对象 request

在servlet中就是 HttpServletRequest类型的对象

在jsp中存在这默认内置对象,这个对象可以不用声明,直接在jsp中使用 对象名:request

session域:会话域,给服务器一次请求,服务器给一次响应,来回的交互过程就叫会话, 域对象: session

session即打开浏览器后的操作,都归为一次session,一旦关闭浏览器,此次session即结束;

随着第一次请求而创建,随着浏览器的关闭而销毁;

application域:应用域,最大的一个域,只要将数据保存在应用域中,在整个程序的任意位置都可以 获取到应用域中的数据, 随着程序的启动而创建,随着程序的关闭而销毁;

 

如何使用域中数据;

向域中存数据:req.setAttribute("key","value");

从域中取数据:req.getAttribute("key");

 

jsp的本质:

先将jsp转换成.java文件,然后通过Java代码将JSP页面以及域对象数据,获取之后,重新拼接成一个新 的页面;

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

你可能感兴趣的:(servlet,jsp,java)