Java web(华清远见)

一、 Servlet
sun公司制定的一种用于扩展web服务器的功能的组件规范。

  常见的java web服务器: tomcat ,JBoss ,Resin, Jetty,在我们的学习过程中主要用的是tomcat  

二、select的开发步骤
新建符合java web项目的工程
servlet 类 继承 HttpServlet
重写service方法
service(HttpServletRequest request , HttpServletResponse)
request : 请求
response :响应
java web工程中的web.xml文件
web.xml 的文件名不能修改(tomcat找web.xml)
将java的类和浏览器访问的地址做一个映射
浏览器没法办法直接访问java类中的方法 , 所以需要java类映射到一个浏览器能访问的url地址。
打包(idea帮助完成) 把web项目运行需要的文件内容按指定文件结构保存。
部署(在idea中可以完成)
把打包好的web程序放到tomcat容器中,然后运行tomcat容器的时候,才能访问我们的web程序。
启动容器, 然后可以通过浏览器访问访问web程序。

三、控制台乱码问题

找到安装路径,如下图所示的文件,用记事本打开

找到如下的代码格式改为GBK就能解决乱码问题。 

java.util.logging.ConsoleHandler.encoding = GBK

四、select的生命周期

init 、 service 、doXX 、destroy
容器启动或者第一次访问 servlet 的时候,会执行 init 方法,一个生命周期内只执行一次,在容器结束的时候也会执行一次destory,且只执行一次。
service和doXX每次请求都会被执行。
指定容器(tomcat)启动的时候,就创建servlet对象,就会执行初始化(init)方法。 然后数据值越小,创建的时候越优先。


五、JSP
jsp是一种运行在服务器端的页面, 它里面包含html , 嵌入一些java语言, 在服务器(tomcat)上经过解析转换, 输出为html页面。
jsp不需要配置, 直接用它的路径和文件名进行访问。
jsp是sun公司制定的一种用于服务器动态页面的技术规范 , 也是一种组件, 依赖于tomcat进行运行。

servlet + html : 数据的处理和数据的显示
servlet + jsp: 数据处理(servlet) , 数据展示(jsp-- 嵌套java使用)

jsp的对象
request:请求对象
response:响应对象
pageContext:JSP的上下文对象
session:会话对象
application:ServletContext对象
config:ServletConfig对象
out:JSP输出流对象
page:指向当前JSP的对象
exception:异常对象

Java web的作用域:pageContext :只在当前页面有效 。request : 请求期间有效 。session: 会话期间有效 。application : 程序运行期间有效。


jsp:让数据的处理和数据的展示进行分离
jsp原理:浏览器向服务器发送请求,不管访问什么资源,其实都是在访问Servlet。JSP最终也会被转换成为一个Java类。

jsp本质上就是一个Servlet,jsp格式:<%=表达式 %>其作用是在JSP页面中可以编写需要的Java代码。

el表达式: jsp页面上,用于方便的获取到转发到 jsp 页面上的数据的一种表达式语言。
语法规则: ${ 变量 } , ${ 对象 . 属性 }

六、HttpServletResponse
web服务器接收到客户端的http请求,针对这个请求,分别创建一个代表请求的HttpServletRequest对象,代表响应的一个HttpServletResponse

HttpServletRequest
HttpServletRequest代表客户端的请求,用户通过Http协议访问服务器, HTTP请求中的所有信息会被封装到HttpServletRequest,通过这个HttpServletRequest的方法,获得客户端的所有信息

如果要获取客户端请求过来的参数:找HttpServletRequest
如果要给客户端响应一些信息:找HttpServletResponse

七、转发 & 重定向

转发(请求):是一个请求处理了一部分功能,然后开始另一个请求处理剩下的功能。其作用就是共享request response对象 ,因此可以把需要转发的数据保存在request对象中。 让浏览器的地址栏地址保存不变。(显示第一个请求的地址)

重定向(二个不同的请求):重定向是一个请求的功能完成了,然后开启另一个请求,做另一个功能。重定向因为是两个不同的请求,所以是两个不同的request对象,因此不能共享数据。 浏览器地址栏的地址是显示重定向的地址。(显示第二个请求的地址)

相同点:页面都会实现跳转。
不同点:请求转发的时候,url不会发生变化;重定向的时候,url地址栏会发生变化

八、Cookie( 客户端状态管理的技术
用于保存客户端的状态的计数。 当我们有多次请求的时候,这个多次请求被看做一个整体,这个整体中有些数据需要保存的时候,可以使用cookie,把数据保存在浏览器中。
cookie使用的方式:

服务器端代码中,创建cookie对象,在response中添加cookie
客户端访问服务器的时候,会将把当前访问路径有关的cookie发送到服务器端
服务器端可以在request中获取到cookie数据,然后对这些数据进行使用
浏览器可以设置禁用cookie,或者用户可以删除cookie数据,用户可以查看到cookie数据,所以重要数据不能直接保存在cookie中。
cookie中存储的是string , 并且存储的数据大小也有限。
cookie 可以设置有效期,过期之后,cookie会被浏览器清除掉。

九、session(服务器端状态管理技术

session默认在会话期间有效,会话期间session中的数据,所有请求都可以共享。request对象是每—次请求,都是—个单独的新的对象,所以request不能共亨数据。可以通过request对象的转发,来实现request中的数据共享。(servlet转发到对应的jsp)
服务器会给每一个用户(浏览器)创建一个Seesion对象。一个Seesion独占一个浏览器,只要浏览器没有关闭,这个Session就存在。
session中保存数据:
getSession(): 规则就是如果有就根据sessionid获取session对象,如果没有就直接创建一个session对象。

关闭浏览器的时候: cookie中保存的jsessionid就消失了。session对象无效了,会话就结束了。

Session和cookie的区别:

Cookie是把用户的数据写给用户的浏览器,浏览器保存 (可以保存多个)
Session把用户的数据写到用户独占Session中,服务器端保存 (保存重要的信息,减少服务器资源的浪费)

浏览器发送请求的时候服务器就会创建一个Session对象,然后浏览器中会保存这个session对象的sessionid(cookie: jsession)。


十、过滤器(接口)和监听器
1.过滤器类型: 过滤器是sun提供一个组件, 需要依赖于tomcat容器运行。
2.Filter:过滤器一方面可以过滤掉不需要的内容,也可以对内容进行加工处理,过滤器可以加很多个。过滤器实在servlet之前加的,目的是为了实现过滤器和servlet的结合需要关联并且实现跳转的功能。

3.J监听器的类型;ServletContext监听器。ServletContextListener监听ServletContext对象。ServletContextAttributeListener监听对ServletContext属性的操作,比如增加、删除、修改。
4.监听器在后台工作,可以设置需要监听的内容

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值