JSP学习笔记02--servlet

来源:互联网 发布:淘宝确认订单信息 编辑:程序博客网 时间:2024/05/24 23:13

1、Servlet中的ServletConfig和ServletContext可以获得Servlet执行环境的相关数据。

这两个类都在javax.servlet包中,调用这两个类的时候的时候要在myeclipse 中自动加入javax.servlet包。


2、servlet规范定义了在引擎启动时预装载servlet的技术,实现方法很简单,就是在web.xml中进行如下配置即可:

<load-on-startup>1</load-on-startup>

数值确定了servlet的装载顺序,较低的值先装载,如果没有给特定的Servlet指定一个值(或者指定为0或者负数),则次引擎根据引擎的启动序列来装载servlet。如果多个servlet有相同的数值,则引擎会自动选择装载次序。


get的方法提交的总数据量不能超过2KB,否则会提交失败,而利用post方法则没有容量方面的限制。

3、servlet中的httpServletRequest的方法,来获得来自客户和服务器端的一些数据。

如HTTP协议信息、浏览器端的IP地址、Cookie信息、session会话信息、得到数据相关信息。等。

JSP中主要使用HttpServletRequest来处理表单操作。

getparameter():可以获得表单参数的值。

getParamenterValues():可以得到多次出现的参数(如复选框)的值

getParamenterNames():可以得到当次请求中所有的参数的完整列表


4、在servlet中,通过HttpServletResponse方法来发出响应。

如响应URL、addcookie信息、向浏览器输出数据。等。

HttpServletResponse的

sendRedirect(“绝对或者相对URL”)的方法,可以使网页重定向。

setIntHeader(“refresh”,时间)方法,可以使网页定时刷新,单位是秒;

setHeader("refresh","时间;url=绝对或者相对URL");                       

eg.: response.setHeader("Refresh","5;URL=test.htm"); --------------------5秒后重定向。


5、这个比较有趣。

RequestDispatcher接口的forward行为也可以实现页面跳转。但是和sendRedirct行为有区别

forward行为中,
  • 控制的转移完全在服务器上进行,不涉及任何网络数据流。----------这句还不大懂
  • 用户不会看到目的页面上的地址,而且还可以将页面放到WEB-INF中,防治用户不经过建立数据的Servlet,直接访问这些页面。也就是所能达到一个隐藏转移页面的效果。
sendRedirect行为中
  • 控制的转移通过向客户发送302状态码和Location响应包头来完成。转移需要另外的网络往返。------估计还是有回到客户端浏览器上。
  • 用户能看到目的页面的地址,可以记录下来,独立访问。-------我觉得这个比较关键,就是无法隐藏野蛮地址
  • 如果把页面放在WEB-INF中,这个方法就无法得到页面了------也就是说,这个方法不能访问WEB-INF里的页面文件了。



原创粉丝点击