Skip to main content

JSP page is doing the same thing as a Web service. Why use a Web service?

Accessing a JSP page could be considered the same as accessing a Web service. If you think about it, calling a JSP page is a large method packaged in the form of a servlet, which sends back character output. The biggest difference is in the packaging.

A Web service defines an interface through which it's possible to define exactly the data being sent to and from the Web service. 

The JSP page, on the other hand, just hands back a large character text stream in the HTTP wrapper. This makes it hard to parse a JSP result for finer work. This makes a Web service easier to use programmatically over a straight JSP page. Whenever fine control of the data being sent over a HTTP request is required, it is time to use a Web service.

The next fact to consider is state. One thing JSP and servlets give the programmer is a concept of state: application, session, page, and so on. A service isn't as tied to the concept of state. In fact, keeping a Web service stateless has the advantage of making a Web service easier to scale and move around from project to project. 

However, a Web service doesn't necessarily have access to maintaining state in the same manner as a JSP page. State within a Web service will depend on the Web service server implementation being used by a project. Some Web service servers will not maintain state; others, such as Microsoft's .NET, will provide their Web services the exact same options of state that an ASP page enjoys (application, session, and so on). Apache SOAP does provide state management, and we will explore this idea further.

Reference:
Kochmer, C., & Frandsen, E. (2002). JSP™ and XML Integrating XML and Web Services in Your JSP™ Application R. Kronzek, M. Newcomb & M. Ray (Eds.), (pp. 592).

Comments

Popular posts from this blog

Error Class names are only accepted if annotation processing is explicitly requested

Do you get the following error? Class names, 'Hello', are only accepted if annotation processing is explicitly requested 1 error In case you got this error, then you forget to add .java to the file name when you compile it So when you want to compile a file using cmd console window write the filename.java extension Example: Javac Hello.java If you write it in this way the error will go away. So don’t forget to include suffix with your file name during compilation.

An attempt was made to insert a node where it is not permitted

Do you face this Error while you are writing code to generate xml file from java? Exception in thread "main" org.w3c.dom.DOMException : HIERARCHY_REQUEST_ERR: An attempt was made to insert a node where it is not permitted.        at com.sun.org.apache.xerces.internal.dom.CoreDocumentImpl.insertBefore(Unknown Source)        at com.sun.org.apache.xerces.internal.dom.NodeImpl.appendChild(Unknown Source)        at generatexml.WriteXMLFile.main( WriteXMLFile.java:30 ) Well the answer is: Don't insert the node where it isn't permitted. Change your generated directory file path from 'C' to other directory ex, D or to any directory you have. Make sure the ‘appendChild’ is referring to the right element. Don’t appending twice, only make it once. Ex, //Writetoxml.java   Element rootElement = doc . createElement ( " Company " );   doc . appendChild ( ro...
Cli.java won't compile in jahmm Problem: When you compile Cli.class in terminal or Eclipse, you may get the following error: Cli.java:27: package be.ac.ulg.montefiore.run.jahmm.io does not exist import be.ac.ulg.montefiore.run.jahmm.io.FileFormatException; ^ Cli.java:54: cannot find symbol symbol : class AbnormalTerminationException 9 more errors Solution: You must to pass parameters to your class. The class takes 5 parameters which are: Parameter 1: should be one of the following: create:  creates a new HMM description file, print:  prints a HMM learn-kmeans:   applies the k-Means algorithm learn-bw:  applies the Baum-Welch algorithm generate:    generates an observation sequence given a HMM distance-kl:    computes the distance between two HMMs Parameter 2: -opdf. It takes one of the following: -r: argument describes that HMM will take 4 integers. For example, -r 4 means that HMM takes ...