JSP_哪个更好?转发请求对象还是转发Java Bean?

时间:2018-06-01 04:40:22

标签: java jsp servlets request

我是Java和JSP的新手。 目前正在使用JSP和Servlet处理Auth进程。

让我们说我正在编写登录过程。

在我看来,我认为有两种方法可以做到。

1)Controller将请求对象从客户端转发到DAO或Model类

2)Controller接收请求并将数据(如ID,PWD)作为Java bean的一种形式传输到DAO或Model类。

我已经完成了这两件事,并且在功能上都很好。

所以我不知道什么是更好的编码方式。

这让我想到了另一件事。

如果我只是将来自客户端的请求转发给登录过程以及其他整个过程,是否有任何缺点?

1 个答案:

答案 0 :(得分:0)

理想情况下,您不应将请求对象传递给Controller之外的任何图层。让请求对象在Controller本身中,并使用POJO或DTO对象从Controller中跨层移动数据。您的代码可能有效,但这不是“方式”。去做吧。你会理解&了解为什么在您的应用程序变大时,模式很重要。它让生活更轻松。避免所有的混乱。并使调试和维护更容易。

关于 RequestDispatcher

RequestDispatcher 用于将请求转发给JSP,以呈现您可能需要的数据~balance:0 transaction id :undefined Error: rlp: too few elements for types.txdata at Object.InvalidResponse (/Users/guo/wallet/linkeye-light-wallet/node_modules/web3/lib/web3/errors.js:38:16) at /Users/guo/wallet/linkeye-light-wallet/node_modules/web3/lib/web3/requestmanager.js:86:36 at XMLHttpRequest.request.onreadystatechange (/Users/guo/wallet/linkeye-light-wallet/node_modules/web3/lib/web3/httpprovider.js:128:7) at XMLHttpRequestEventTarget.dispatchEvent (/Users/guo/wallet/linkeye-light-wallet/node_modules/xhr2/lib/xhr2.js:64:18) at XMLHttpRequest._setReadyState (/Users/guo/wallet/linkeye-light-wallet/node_modules/xhr2/lib/xhr2.js:354:12) at XMLHttpRequest._onHttpResponseEnd (/Users/guo/wallet/linkeye-light-wallet/node_modules/xhr2/lib/xhr2.js:509:12) at IncomingMessage.<anonymous> (/Users/guo/wallet/linkeye-light-wallet/node_modules/xhr2/lib/xhr2.js:469:24) at IncomingMessage.emit (events.js:187:15) at endReadableNT (_stream_readable.js:1086:12) at process._tickCallback (internal/process/next_tick.js:63:19) 以及request parameters示例:从DB中提取的员工名单)。您实际上是将请求对象转发到JSP。在这种情况下,您的请求对象仍在应用程序的表示层中移动。实际上,稍后您的JSP将被容器转换为Servlet(Controller)。这完全没问题,这两条线路在一起:

request attributes

除了包含JSP和&amp ;;控制器。