jsp与Servlet的数据交互

随着javaweb学习的深入,前后端数据交互变得越来越频繁,今天就让我们一起总结一下他们是如何交互的,
jsp与servlet的交互分为:

  • 从jsp到servlet,
  • 从servlet到jsp,
  1. 首先要明白一点,servlet需要容器的支持才能够运行,如Tomcat、jetty
    达到servlet的请求,需要ServletRequest对象和ServletResponse对象去处理servlet在服务器中的运行:1.加载到内存->2.初始化(init()) - > 3.调用(service(){doGet/doPost}) - 4.销毁(destroy())。其中(1)(2)(4)在 Servlet的整个生命周期中只会被执行一次
    如果在web.xml中对servlet配置了load-on-startup,那么就是在容器加载时就将Servlet初始化,否则是接受第一次请求时再加载
    在web.xml文件中, Servlet可以通过元素和元素指定通过url的方式访问这些Servlet
    2.JSP(JavaServlet Page)其实就是servlet。是从Servlet继承而来。只不过它在Servlet当中又添加/修改了一些方法,作了新的封装

下面是一些交互的具体方法和操作

1.servlet请求数据的传递:
request.setAttribute(string,object),request.getAtttibute(string),返回object
2.servlet请求转发:
request.getRequestDispatcher(“targetURL”).forward(request,response)
3.httpsession数据传递:
request.setsession().setAttribute(string,object),request.getsession().getAttribute(string),返回object;
4.servlet页面跳转response.sendRedirct(targetURL);
5.application数据传递:
application.setAttribute(string,object),appliction.getAttribute(string);
6.jsp页面到action对应页面进行简单数据传递:
在登陆页面,name=“username” 在action对应的页面,¥{param.username},可以得到对应的值
7.使用pagecontext可以得到其他八种对象,实现数据传递,
8.实现页面跳转和数据传递:<jsp:forward page="targetURL"/><jsp:param name="name" value=object/><jsp:forward>在target URL页面,通过request.getAttribute(string)得到相应数据,<jsp:param name="name" value=object> 也同jsp:include page="contents"></jsp:include>一起使用
9.使用JavaBean组件:创建对应JavaBean类,导入到对应的jsp中使用
10:引用JSTL标准标签库对页内变量获取:<c:set var="num" value="${4*4}"/>可以用${num}获取,<c:redirect url="targetURL"></c:redirect>实现页面跳转

人困马乏,点个赞可好!!!

Logo

权威|前沿|技术|干货|国内首个API全生命周期开发者社区

更多推荐