Difference between EJB's and JSP Sessions
Could someone give me a general overview of how sessions in EJB's differ from sessions in servlets? I am developing a web app that will never need more than one server - not a high traffic app. So I have no need for EJB's ability to communicate between different servers. But I plan to keep track of the user's state with sessions, and will try to avoid using cookies. I am currently learning sessions, context, etc that are available in servlets and JSP's, so I don't have a thorough understanding of everything they can do. My main question is whether sessions in EJB's offer any advantages in power, speed, or ease of use.
Thanks.
-Gary Lundquest
First of all, the notion of a session is not the only thing you get out of an EJB oriented implementation.
However, EJBs may not be suitable for all kinds of requirements. In fact, depending on the exact nature of the business being implemented, EJBs may be an overkill.
Specifically about sessions, Session beans provide you with a facility to extend the notion of a client session to the business tier of your application. You should envisage an idea in light of the EJB tier being specifically for the business tier as opposed to the web tier.
The web tier(servlets, JavaServer Pages) will generally be used to implement non business code. However, not all applications warrant the use of EJBs as touched upon above. So if there is a need to have something like a user's representation in session, you may want to have that store in the HTTP session in the web tier.
In fact, even if you implement EJBs, you will most likely still have the need to use HTTP session.
In brief, EJB sessions(in the form of Session Beans i.e.) and web sessions basically facilitate different purposes.
Is that in line with what you wnated to know ?
Similar Messages
-
DataSource - difference between ejb-location and location
Hi,
Does anyone know difference between ejb-location and location attribute specified in datasources.xml for an emulated datasource.
There are few connection leakage errors reported in log files though the connection and other database objects have been closed in finally block in all places.
So just wanted to find out whether specifying the same value for location as well as ejb-location is not the root cause of connection leakage errors.
Thanks in advance for any help.
Regards,
SmitaSmita,
Personally, I think you should make sure that all locations (in your "data-sources.xml" file) should be different -- although I can't tell you why.
According to the documentation, the "ejb-location" uses a connection pool and I exclusively use the "ejb-location".
Good Luck,
Avi. -
What is the difference between ejb reference and ejb handle?
Hi:
I am newbie for J2EE.
I want to know what is the difference between ejb reference and ejb handle
from the client view and from the container view?
Very Thanks!
StiveHi John,,
1) Ejb Object Handle are nothing but a long lived proxy for the
ejb object, using this handle user can disconnect from the Ejb Server/Container
at any time
and after some time using the same handle he can able to resume the conversational
state
with the server / container where he was been disconnected From.
And there are currently two Handles , HomeHandle and Handle for EjbHomeObject
and EjbObject
Respectively. Both these handles have Persistent reference to the EJB Object
2) Ejb Reference is used to lookup a bean from other Enterprise Bean
Ejb reference is a nickname for the JNDI Location that you want to lookup a bean.
your code will looks up a Home object via using this nickname
and the deployer will bind the
nickname to the JNDI location of its choice
EJb Reference are declared in the deployment descriptor
Regards
Karthikeyan Gangadharan
SIP Technologies, Chennai
E-mail-ID : [email protected]
"John Stive" <[email protected]> wrote:
>
Hi:
I am newbie for J2EE.
I want to know what is the difference between ejb reference and ejb
handle
from the client view and from the container view?
Very Thanks!
Stive -
Difference Between Jsp1.2 and Jsp 2
Hello All
Can anyone tell me the difference between Jsp 1.2 and Jsp 2.
What are disadvantages of earlier version and how they are rectified in this latest version.
Thank UThe site below describes the differences and dis/advantages:
http://developer.java.sun.com/developer/technicalArticles/javaserverpages/JSP20/ -
RE;Difference between webdynpro java and Jsp Dynpage and Dynpages
hi all,
What are the befinits of webdynpro when compared with other
Jsp Dynpage and Dynpage.Hi Mahesh,
Refer to the following links which gives you the good idea.
Choosing between Webdynpro and JspDynpage/Dynpage
JSPDynpage Vs Web Dynpro Java
/thread/65254 [original link is broken]
JSPDynpage Vs Web Dynpro Java
Thanks n Regards,
Jhansi Miryala -
Question about main difference between Java bean and Java class in JSP
Hi All,
I am new to Java Bean and wonder what is the main difference to use a Bean or an Object in the jsp. I have search on the forum and find some post also asking the question but still answer my doubt. Indeed, what is the real advantage of using bean in jsp.
Let me give an example to illustrate my question:
<code>
<%@ page errorPage="errorpage.jsp" %>
<%@ page import="ShoppingCart" %>
<!-- Instantiate the Counter bean with an id of "counter" -->
<jsp:useBean id="cart" scope="session" class="ShoppingCart" />
<html>
<head><title>Shopping Cart</title></head>
<body bgcolor="#FFFFFF">
Your cart's ID is: <%=cart.getId()%>.
</body>
<html>
</code>
In the above code, I can also create a object of ShoppingCart by new operator then get the id at the following way.
<code>
<%
ShoppingCart cart = new ShoppingCart();
out.println(cart.getId());
%>
</code>
Now my question is what is the difference between the two method? As in my mind, a normal class can also have it setter and getter methods for its properties. But someone may say that, there is a scope="session", which can be declared in an normal object. It may be a point but it can be easily solved but putting the object in session by "session.setAttribute("cart", cart)".
I have been searching on this issue on the internet for a long time and most of them just say someting like "persistance of state", "bean follow some conventions of naming", "bean must implement ser" and so on. All of above can be solved by other means, for example, a normal class can also follow the convention. I am really get confused with it, and really want to know what is the main point(s) of using the java bean.
Any help will be highly apprecaited. Thanks!!!
Best Regards,
AlexHi All,
I am new to Java Bean and wonder what is the main
difference to use a Bean or an Object in the jsp. The first thing to realize is that JavaBeans are just Plain Old Java Objects (POJOs) that follow a specific set of semantics (get/set methods, etc...). So what is the difference between a Bean and an Object? Nothing.
<jsp:useBean id="cart" scope="session" class="ShoppingCart" />
In the above code, I can also create a object of
ShoppingCart by new operator then get the id at the
following way.
ShoppingCart cart = new ShoppingCart();
out.println(cart.getId());
...Sure you could. And if the Cart was in a package (it has to be) you also need to put an import statement in. Oh, and to make sure the object is accessable in the same scope, you have to put it into the PageContext scope. And to totally equal, you first check to see if that object already exists in scope. So to get the equivalant of this:
<jsp:useBean id="cart" class="my.pack.ShoppingCart"/>Then your scriptlet looks like this:
<%@ page import="my.pack.ShoppingCart %>
<%
ShoppingCart cart = pageContext.getAttribute("cart");
if (cart == null) {
cart = new ShoppingCart();
pageContext.setAttribute("cart", cart);
%>So it is a lot more work.
As in my mind, a normal class can also
have it setter and getter methods for its properties.True ... See below.
But someone may say that, there is a scope="session",
which can be declared in an normal object.As long as the object is serializeable, yes.
It may be
a point but it can be easily solved but putting the
object in session by "session.setAttribute("cart",
cart)".Possible, but if the object isn't serializable it can be unsafe. As the point I mentioned above, the useBean tag allows you to check if the bean exists already, and use that, or make a new one if it does not yet exist in one line. A lot easier than the code you need to use otherwise.
I have been searching on this issue on the internet
for a long time and most of them just say someting
like "persistance of state", "bean follow some
conventions of naming", "bean must implement ser" and
so on. Right, that would go along the lines of the definition of what a JavaBean is.
All of above can be solved by other means, for
example, a normal class can also follow the
convention. And if it does - then it is a JavaBean! A JavaBean is any Object whose class definition would include all of the following:
1) A public, no-argument constructor
2) Implements Serializeable
3) Properties are revealed through public mutator methods (void return type, start with 'set' have a single Object parameter list) and public accessor methods (Object return type, void parameter list, begin with 'get').
4) Contain any necessary event handling methods. Depending on the purpose of the bean, you may include event handlers for when the properties change.
I am really get confused with it, and
really want to know what is the main point(s) of
using the java bean.JavaBeans are normal objects that follow these conventions. Because they do, then you can access them through simplified means. For example, One way of having an object in session that contains data I want to print our might be:
<%@ page import="my.pack.ShoppingCart %>
<%
ShoppingCart cart = session.getAttribute("cart");
if (cart == null) {
cart = new ShoppingCart();
session.setAttribute("cart", cart);
%>Then later where I want to print a total:
<% out.print(cart.getTotal() %>Or, if the cart is a JavaBean I could do this:
<jsp:useBean id="cart" class="my.pack.ShoppingCart" scope="session"/>
Then later on:
<jsp:getProperty name="cart" property="total"/>
Or perhaps I want to set some properties on the object that I get off of the URL's parameter group. I could do this:
<%
ShoppingCart cart = session.getAttribute("cart");
if (cart == null) {
cart = new ShoppingCart();
cart.setCreditCard(request.getParameter("creditCard"));
cart.setFirstName(request.getParameter("firstName"));
cart.setLastName(request.getParameter("lastName"));
cart.setBillingAddress1(request.getParameter("billingAddress1"));
cart.setBillingAddress2(request.getParameter("billingAddress2"));
cart.setZipCode(request.getParameter("zipCode"));
cart.setRegion(request.getParameter("region"));
cart.setCountry(request.getParameter("country"));
pageContext.setAttribute("cart", cart);
session.setAttribute("cart", cart);
}Or you could use:
<jsp:useBean id="cart" class="my.pack.ShoppingCart" scope="session">
<jsp:setProperty name="cart" property="*"/>
</jsp:useBean>The second seems easier to me.
It also allows you to use your objects in more varied cases - for example, JSTL (the standard tag libraries) and EL (expression language) only work with JavaBeans (objects that follow the JavaBeans conventions) because they expect objects to have the no-arg constuctor, and properties accessed/changed via getXXX and setXXX methods.
>
Any help will be highly apprecaited. Thanks!!!
Best Regards,
Alex -
Differences between @EJB and @Resouce?
Hi,
I am confused about the differences between @EJB and @Resource?
1.
Can Session Beans be injected for both?
If so what are the pro's / con's?
2.
Are the any difference between the type of components that cna be registered for one but not the other?
3.
Are they both equally usable with the ENC?
Many thanks.@EJBs are 'special' resources. For example, @EJB (for a stateful session bean) results in
1. Creation of the Stateful Session Bean,
2. Other dependencies are injected into this newly created bean,
3. If the bean has a @PostConstruct bean then that method is invoked (after invoking applicable interceptors)
Hope this helps -
Whts the difference between call transaction and session
hi,
can u plz tell me the differnces between call transaction method in BDC and session method.
my doubt is even the call transaction method also can me scheduled using job scheduler then why do we need session methodHi
BDC:
Batch Data Communication (BDC) is the process of transferring data from one SAP System to another SAP system or from a non-SAP system to SAP System.
Features :
BDC is an automatic procedure.
This method is used to transfer large amount of data that is available in electronic medium.
BDC can be used primarily when installing the SAP system and when transferring data from a legacy system (external system).
BDC uses normal transaction codes to transfer data.
Types of BDC :
CLASSICAL BATCH INPUT (Session Method)
CALL TRANSACTION
BATCH INPUT METHOD:
This method is also called as CLASSICAL METHOD.
Features:
Asynchronous processing.
Synchronous Processing in database update.
Transfer data for more than one transaction.
Batch input processing log will be generated.
During processing, no transaction is started until the previous transaction has been written to the database.
CALL TRANSACTION METHOD :
This is another method to transfer data from the legacy system.
Features:
Synchronous processing. The system performs a database commit immediately before and after the CALL TRANSACTION USING statement.
Updating the database can be either synchronous or asynchronous. The program specifies the update type.
Transfer data for a single transaction.
Transfers data for a sequence of dialog screens.
No batch input processing log is generated.
For BDC:
http://myweb.dal.ca/hchinni/sap/bdc_home.htm
https://www.sdn.sap.com/irj/sdn/wiki?path=/display/home/bdc&
http://www.sap-img.com/abap/learning-bdc-programming.htm
http://www.sapdevelopment.co.uk/bdc/bdchome.htm
http://www.sap-img.com/abap/difference-between-batch-input-and-call-transaction-in-bdc.htm
http://help.sap.com/saphelp_47x200/helpdata/en/69/c250684ba111d189750000e8322d00/frameset.htm
http://www.sapbrain.com/TUTORIALS/TECHNICAL/BDC_tutorial.html
Check these link:
http://www.sap-img.com/abap/difference-between-batch-input-and-call-transaction-in-bdc.htm
http://www.sap-img.com/abap/question-about-bdc-program.htm
http://www.itcserver.com/blog/2006/06/30/batch-input-vs-call-transaction/
http://www.planetsap.com/bdc_main_page.htm
call Transaction or session method ?
<b>Reward points for useful Answers</b>
Regards
Anji -
What's the difference between the LRU and NRU strategy for stateful session bean?
Hi,
Does anybody know the difference between the LRU and NRU strategy for
stateful session bean?
Thanks,
LeviLRU makes the assumption that the bean that has been used a lot recently is
likely to be used again.
NRU simply removes the beans that have not been used for a stipulated amount
of time.
The algorithm for the LRU is much more complicated than the NRU. I think BEA
recommends LRU for better performance and NRU when you have memory
constraints.
"levi" <[email protected]> wrote in message
news:[email protected]..
Hi,
Does anybody know the difference between the LRU and NRU strategy for
stateful session bean?
Thanks,
Levi -
Differences between ejb2.0 and ejb 3.0
hi,
Can anybody tell me the differences between ejb2.0 and ejb3.0?
Thanks
Karimullahttp://www.theserverside.com/articles/article.tss?l=MonsonHaefel-Column1
-
Q<WWO-13> What are the difference between WLS6.1 and WLS7.0 web services?
A<WWO-13> The differences are huge, so different in fact that 6.1 web services cannot
be deployed in 7.0. WLS7.0 and Workshop have much greater functionality than the
limited stateless session (RPC-style) and JMS destination (MSG-style) approach of
6.1. Workshop web services can interact with any type of EJB, any JMS destination
as well as other web services and directly accessing databases. The framework for
building the web service is better and more adaptable and Workshop provides a fully
integrated develop, deploy, test and debug environment. Additionally, WLS7.0 have
the capacity to be much better at performance since due to XML parser enhancements
and the addition of XML maps.If you want to take existing WLS6.1 web services and convert them to WLS7.0 you can
do so quite easily. The WLS7.0 Ant still supports wsgen so you do not need to even
change your build.xml file. The generated web service however will be implemented
is a manner compliant with the WLS7.0 environment. More details are at:
http://e-docs.bea.com/wls/docs70/webServices/anttasks.html#1070576
"Adam FitzGerald" <[email protected]> wrote:
>
Q<WWO-13> What are the difference between WLS6.1 and WLS7.0 web services?
A<WWO-13> The differences are huge, so different in fact that 6.1 web services
cannot
be deployed in 7.0. WLS7.0 and Workshop have much greater functionality
than the
limited stateless session (RPC-style) and JMS destination (MSG-style) approach
of
6.1. Workshop web services can interact with any type of EJB, any JMS destination
as well as other web services and directly accessing databases. The framework
for
building the web service is better and more adaptable and Workshop provides
a fully
integrated develop, deploy, test and debug environment. Additionally, WLS7.0
have
the capacity to be much better at performance since due to XML parser enhancements
and the addition of XML maps. -
Difference between web server and application server
Hi Everybody
Could anybody expain difference between web server and application server?
SharadHi there
The difference I know is the application servers provides the containers for the applications to run which is not provided by the web servers.
For example the containers can be an EJB container or JSP container etc -
Whats the difference between an INTERFACE and a CLASS?
Whats the difference between an INTERFACE and a CLASS?
Please help.
Thanx.http://search.java.sun.com/search/java/index.jsp?col=javaforums&qp=%2Bforum%3A31&qt=Difference+between+interface+and+class
-
Hi Friends ....Difference between SAP memory and ABAP memory
Hi Friends,
I faced a interview and they ask this question
What is the difference between SAP Memory and ABAP memory..conti
SAP Memory
SAP memory is a memory area to which all main sessions within a SAPgui have access. You can use SAP memory either to pass data from one program to another within a session, or to pass data from one session to another. Application programs that use SAP memory must do so using SPA/GPA parameters (also known as SET/GET parameters). These parameters can be set either for a particular user or for a particular program using the SET PARAMETER statement.
Other ABAP programs can then retrieve the set parameters using the GET PARAMETER statement. The most frequent use of SPA/GPA parameters is to fill input fields on screens.
ABAP Memory
ABAP memory is a memory area that all ABAP programs within the same internal session can access using the EXPORT and IMPORT statements. Data within this area remains intact during a whole sequence of program calls. To pass data to a program which you are calling, the data needs to be placed in ABAP memory before the call is made. The internal session of the called program then replaces that of the calling program. The program called can then read from the ABAP memory. If control is then returned to the program which made the initial call, the same process operates in reverse.
A simple example of ABAP memory is using the EXPORT/IMPORT statements.
Here in this program, I get the data, export it to memory,
clear out the internal table in my progam, then reimport the data into it and write out the data.
You probably wounldn't do this in a normal program,
but this is how you can pass data from program a to program b when A Submits program B.
report zxy_0002 .
data: it001 type table of t001 with header line.
select * into table it001 from t001.
export it001 = it001 to memory id 'ZXY_TEST'.
clear it001. refresh it001.
import it001 = it001 from memory id 'ZXY_TEST'.
loop at it001.
write:/ it001-bukrs, it001-butxt.
endloop.
SAP Memory
SAP memory is a memory area to which all main sessions within a SAPgui have access.
You can use SAP memory either to pass data from one program to another within a session,
or to pass data from one session to another.
Application programs that use SAP memory must do so using SPA/GPA parameters (also known as SET/GET parameters).
These parameters can be set either for a particular user
or for a particular program using the SET PARAMETER statement.
Other ABAP programs can then retrieve the set parameters using the GET PARAMETER statement.
The most frequent use of SPA/GPA parameters is to fill input fields on screens
ABAP/4 Memory
ABAP memory is a memory area that all ABAP programs within the same internal session can access
using the EXPORT and IMPORT statements.
Data within this area remains intact during a whole sequence of program calls. To pass data
to a program which you are calling,
the data needs to be placed in ABAP memory before the call is made.
The internal session of the called program then replaces that of the calling program.
The program called can then read from the ABAP memory.
If control is then returned to the program which made the initial call, the same process operates in reverse.
SAP memory
The SAP memory, otherwise known as the global memory,
is available to a user during the entire duration of a terminal session.
Its contents are retained across transaction boundaries as well as external and internal sessions.
The SET PARAMETER and GET PARAMETER statements allow you to write to, or read from, the SAP memory.
ABAP/4 memory
The contents of the ABAP/4 memory are retained only during the lifetime of an external session
(see also Organization of Modularization Units).
You can retain or pass data across internal sessions.
The EXPORT TO MEMORY and IMPORT FROM MEMORY statements allow you to write data to, or read data from, the ABAP memory.
ABAP Memmory & SAP Memmory
http://www.sap-img.com/abap/difference-between-sap-and-abap-memory.htm
http://www.sap-img.com/abap/type-and-uses-of-lock-objects-in-sap.htm
Set
http://www.geocities.com/SiliconValley/Campus/6345/set_para.htm
GET
http://www.geocities.com/SiliconValley/Campus/6345/get_para.htm
EXPORT
http://www.geocities.com/SiliconValley/Campus/6345/export01.htm
Other Imp Help
http://www.geocities.com/SiliconValley/Campus/6345/abapindx.htm -
Difference between wait event and timed event
Hi,
Anyone has idea that what is the difference between wait events and timed events in Statspack report. I couldn't find it over google.
Thanks.It's 10.2.0.1 on Linux
(Couldn't do a query, because Linux is inside VM Ware. And it is not being accessed from Base windows machine.)
Top 5 Timed Events Avg %Total
~~~~~~~~~~~~~~~~~~ wait Call
Event Waits Time (s) (ms) Time
db file scattered read 9,750,617 34,611 4 44.7
CPU time 14,248 18.4
read by other session 1,532,282 8,984 6 11.6
db file sequential read 4,514,494 5,588 1 7.2
latch: cache buffers lru chain 277,245 4,823 17 6.2
Wait Events DB/Inst: ABCD/ABCD Snaps: 1-2
-> s - second, cs - centisecond, ms - millisecond, us - microsecond
-> %Timeouts: value of 0 indicates value was < .5%. Value of null is truly 0
-> Only events with Total Wait Time (s) >= .001 are shown
-> ordered by Total Wait Time desc, Waits desc (idle events last)
Avg
%Time Total Wait wait Waits
Event Waits -outs Time (s) (ms) /txn
db file scattered read 9,750,617 0 34,611 4 24.2
read by other session 1,532,282 0 8,984 6 3.8
db file sequential read 4,514,494 0 5,588 1 11.2
latch: cache buffers lru chain 277,245 0 4,823 17 0.7
latch free 121,466 0 3,291 27 0.3
----------------------------------------------------------------------------------------------------
Maybe you are looking for
-
Format External Western Digital Drive to be used with only Mac
I recently ordered Western Digital My Passport Essential. I will get it by tomorrow evening. It comes pre-formatted using NTFS file-type. I need to format it, to be used with My MacBook Pro running Lion, and old White MacBook running Snow Leopard. On
-
Unable to connect Adobe.
I am having a serious probelm that I couldn't solve for days. I have subscribed to Adobe Creative Cloud. I have installed Adobe Application Manager to my MacBookAir and it worked without any problems. Later I have installed it to my iMac and used wit
-
How to combine my select query
Hi guys, I want to check record is exist in the test_table with where condition is different. if found then check test_table with where condition is different. if found then check test_table with where condition is different. can any one give me sugg
-
Oracle Retail V13 - RIB Installation
Hi, We are in the process of installing Oracle V13 - Retail Integration Bus. Installation guide mentions the folloiwing in Appendix D - Creating an OC4J RIB Admin Role: orion-ejb-jar.xml To allow the J2EE role to be used inside the application, edit
-
Restoring Saved Messages on 6280 using Nokia PC Su...
Before getting the firmware upgraded on my 6280 to v3.7 I backed up my phone. However, after peforming the restore it hasn't restored the folders i had created in the Saved Messages folder and I have lost some important text messages. Trying to Add a