(7)在Servlet中使用JavaBean

Servlet和JavaBean都是类,在Servlet中使用JavaBean有两种方式:

1.在一个Servlet中单独使用JavaBean
一般完成的操作是:在Servlet中实例化JavaBean;
通过实例化的对象调用JavaBean方法,完成有关业务处理,并获得结果;
将获得的结果交给Servlet继续处理。
2.在Servlet与JSP之间或Servlet之间实现数据共享的JavaBean
。。。。

(8)JSP与Servlet的数据共享

通过数据内置对象来实现数据共享(request session application)这些对象分别于HttpServletRequest、HttpServletSession、ServletContext 相对应。

1.基于请求的数据共享

共享请求参数的共享过程:参数的传递、参数的保存、保存在请求对象内。

	基于请求的数据共享就是共享用户的请求数据,请求数据在“请求对象中”。请求共享的范围是用户请求访问的当前的Web组件以及和当前的Web组件共享同一请求的其他web组件。基于请求的数据共享的效率是比较高的。
请求共享的数据有两类:请求参数数据、请求属性数据。
~1.1共享请求数据:实际过程是参数传递、参数保存(保存在请求对象内)、参数的获取。
1.2请求参数的4种传递方式:
1.2.1 通过表单action属性指定进入的页面或Servlet,他们所接受的表单数据,就是请求参数数据。
1.2.2 带参数的超链接所传递的参数也是请求参数。
1.2.3 在地址栏中输入的参数也是请求参数
1.2.4 在jsp中,利用forward或include动作时,利用子参数动作标签所传递的数据也是请求参数
1.3请求参数的获取:
利用getParameter()方法获取。其格式为:
String request.getParameter("参数变量名称");
~2.1 请求属性数据:需要先保存形成属性值,然后在另一个组件,再取出该属性的值
2.2 请求属性数据的形式与保存,其格式为:request.setAttribute("属性名",对象类型的属性值);
请求属性数据的获取,其基本格式为: 对象类型(强制转换类型) request.getAttribute("属性名");
例如:Double id=Double(request.getAttribute("weight"));
2.3 若不想再共享某个属性,可从request中删除属性,其基本格式是:
request.removeAttribute("属性名");

2.基于会话的数据共享

会话共享的是属性数据共享,过程为:需要形成属性并保存在会话对象内值,然后在另一组件,在取出该值。

	1.1 会话属性数据的形成和保存
session.setAttribute("属性名",对象类型的属性)
1.2 对于Servlet组件,需要先获取HttpSession的实例对象,然后在使用setAttribute()方法,获取Httpsession的对象实例格式:HttpSession reequest.getSession(boolean create)
2.1 会话属性数据的获取
获取会话属性的基本格式: 对象类型(强制转换类型) session.getAttribute("属性名");
3.1 删除会话共享属性
删除会话属性基本格式:session/application.removeAttribute("属性名");

3.基于应用的数据共享

参考session'的例子

(9)JSP与Servlet的关联关系

JSP和Servlet都是在服务器端执行的部件,两者之间可以互相调用。两者的格式不一样

1.在JSP页面调用Servlet

在JSP页面中通过提交表单和超链接两种格式访问Servlet,具体如下:
1. 通过表单提交调用Servlet
调用格式:<form action="servlet访问地址">.....</form>
//这里的访问地址实在web.xml中配置的地址
2.超链接调用Servlet
可以采用超链接调用servelt还可以给Servlet传递参数。
基本格式为:<a href="servlet 访问地址">提示信息</a>
//<a href="servlet 访问地址"?要传递的参数>提示信息</a>

2.Servlet跳转到JSP页面

Servlet调用JSP有两种方式:重定向和转向

2017.11.20 基于JSP+Servlet+JavaBean实现复数运算(一)的更多相关文章

  1. 2017.11.21 基于JSP+Servlet+JavaBean实现复数运算(二)

    代码的实现 最基本的MVC模式 //input.jsp 输入界面 <%@ page language="java" import="java.util.*" ...

  2. 基于jsp+servlet+javabean的MVC模式简单应用

    原先写在CSDN的一篇,我直接扒过来吧.之前打算在CSDN的,结果写了几回,发现他那个发布系统简直烂到家,经常丢失图片各种.所以很长一段时间我也没写什么. 一.MVC模式 1.M :  javabea ...

  3. 基于jsp+servlet图书管理系统之后台万能模板

    前奏: 刚开始接触博客园写博客,就是写写平时学的基础知识,慢慢发现大神写的博客思路很清晰,知识很丰富,非常又价值,反思自己写的,顿时感觉非常low,有相当长一段时间没有分享自己的知识.于是静下心来钻研 ...

  4. JSP中使用的模式——JSP+Servlet+JavaBean

    上一篇博文写到模式一:JSP+JavaBean 链接地址:http://wxmimperio.coding.io/?p=155 JSP中两种模式的总结 链接地址:http://wxmimperio.c ...

  5. 基于jsp+servlet图书管理系统之后台用户信息删除操作

    上一篇的博客写的是修改操作,且附有源码和数据库,这篇博客写的是删除操作,附有从头至尾写的代码(详细的注释)和数据库! 此次删除操作的源码和数据库:http://download.csdn.net/de ...

  6. 深入浅出Java MVC(Model View Controller) ---- (JSP + servlet + javabean实例)

    在DRP中终于接触到了MVC,感触是确实这样的架构系统灵活性不少,现在感触最深的就是使用tomcat作为服务器发布比IIS好多了,起码发布很简单,使用起来方便. 首先来简单的学习一下MVC的基础知识, ...

  7. 基于jsp+servlet图书管理系统之后台用户信息插入操作

    前奏: 刚开始接触博客园写博客,就是写写平时学的基础知识,慢慢发现大神写的博客思路很清晰,知识很丰富,非常又价值,反思自己写的,顿时感觉非常low,有相当长一段时间没有分享自己的知识.于是静下心来钻研 ...

  8. (jsp+servlet+javabean )MVC架构

    MVC是三个单词的缩写,这三个单词分别为:模型.视图和控制. 使用的MVC的目的:在于将M和V的实现代码分离,从而使同一个程序可以使用不同的表现形式.比如Windows系统资源管理器文件夹内容的显示方 ...

  9. JSP+Servlet+javabean+oracle实现页面多条件模糊查询

    之前写过一篇JSP+Servlet+javabean+mysql实现页面多条件模糊查询 使用的是mysql进行的分页查询,mysql用limit控制,而oracle则是用rownum,今天第一次写or ...

随机推荐

  1. 一些不常见的css知识

    margin-top:20%  ----------------20% 是宽度的20%

  2. yii1的后台分页和列表

    控制器: public function actionIndex(){ $model = new Cases('search'); $model->unsetAttributes(); // c ...

  3. OCR 维护 crsd.log

    ###########sample 1 OCR corruption messages are reported in crsd.log, automatic OCR backup is failin ...

  4. 查看Python支持的.whl文件版本

    AMD64 import pip._internal print(pip._internal.pep425tags.get_supported()) WIN32 import pip print(pi ...

  5. select获取到option的value和text方法

    function getSelectval(id){ var selId = document.getElementById(id); //获取select的id var seleIndex =sel ...

  6. inventor安装失败怎样卸载安装inventor 2019?

    AUTODESK系列软件着实令人头疼,安装失败之后不能完全卸载!!!(比如maya,cad,3dsmax等).有时手动删除注册表重装之后还是会出现各种问题,每个版本的C++Runtime和.NET f ...

  7. Cloudera Kudu是什么?

    不多说,直接上干货! Cloudera Kudu是什么? kudu是cloudera在2012开始秘密研发的一款介于hdfs和hbase之间的高速分布式列式存储数据库.兼具了hbase的实时性.hdf ...

  8. pat1052. Linked List Sorting (25)

    1052. Linked List Sorting (25) 时间限制 400 ms 内存限制 65536 kB 代码长度限制 16000 B 判题程序 Standard 作者 CHEN, Yue A ...

  9. linux下追查线上问题常用命令

    (1)查占用cpu最多的进程方法一:核心指令:ps实际命令:ps H -eo pid,pcpu | sort -nk2 | tail执行效果如下:[work@test01 ~]$ ps H -eo p ...

  10. SWIG 和 Python——c/c++与脚本交互

    C 和 C++ 被公认为(理当如此)创建高性能代码的首选平台.对开发人员的一个常见要求是向脚本语言接口公开 C/C++ 代码,这正是 Simplified Wrapper and Interface ...