关于Servlet的学习

一:WEB应用的目录结构:
Servlet
--WEB-INF
--classes存放开发的java类,比如说是servlet类
--lib 存放第三方的jar包,比如说ojdbc14.jar
--web.xml 对servlet进行描述
--.htm  .html  .jsp

二:获取客户端提交的信息:
1)HttpServletRequest.getParameterNames():获取所有表单信息
2)HttpServletRequest.getParameter(key):获取指定key的信息
3)HttpServletRequest.getParameterValues(key):表单项有多个值,用此方法
     客户端向服务器端提交信息
1)使用表单,即<form>
2)在URL后追加 ?name=value&name=value
     获取HTTP请求的头部信息:
1)HttpServletRequest.getHeaderNames()
2)HttpServletRequest.getHeader(...)


三、servlet的生命周期
1)装载、实例化:由容器装载并实例化,产生一个实例
2)初始化:由容器调用init()方法,不需要考虑多线程 ,只被调用一次
3)服务:根据用户的每一次请求,调用一次服务方法doGet/doPost等,需要考虑多线程
service(ServletRequest,ServletResponse)  
service(HttpServletRequest,HttpServletResponse)
doGet()/doPost() 
4)销毁:由容器调用destroy()方法,不需要考虑多线程
只被调用一次

 

四:Servlet跳转方法

当然,在servlet中,一般跳转都发生在doGet, doPost等方法里面。

1)  redirect 方式

response.sendRedirect("/a.jsp");

页面的路径是相对路径。sendRedirect可以将页面跳转到任何页面,不一定局限于本web应用中,如: response.sendRedirect("URL"); 跳转后浏览器地址栏变化。

这种方式要传值出去的话,只能在url中带parameter或者放在session中,无法使用request.setAttribute来传递。这种方式是在客户端作的重定向处理。该方法通过修改HTTP协议的HEADER部分,对浏览器下达重定向指令的,让浏览器对在location中指定的URL提出请求,使浏览器显示重定向网页的内容。  但是这一种方式 ,可能会丢失参数信息。

2) forward方式

RequestDispatcher dispatcher = request.getRequestDispatcher("/a.jsp");

dispatcher .forward(request, response);

Servlet页面跳转的路径是相对路径。forward方式只能跳转到本web应用中的页面上。 跳转后浏览器地址栏不会变化。 这种方式是在服务器端作的重定向。这种重定向方式是利用服务器端的缓冲区机制,在把缓冲区的数据发送到客户端之前,原来的数据不发送,将执行转向重定向页面,发送重定向页面的数据,重定向调用页的数据将被清除。

使用这种方式跳转,传值可以使用三种方法:url中带parameter,session,request.setAttribute不会丢失参数信息。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值