It was a while since I worked with JSP and servlet. Now I find some material that JSP is obsolete and should not be used. Is that so? Why? What should we use instead for templates if we start a new project with Spring Framework and wish to render web pages or similar output?
Is JSP superseeded and if so, how?
9.5k Views Asked by Niklas Rosencrantz At
1
There are 1 best solutions below
Related Questions in SPRING
- Redirect inside java interceptor
- Spring RestTemplate passing the type of the response
- spring-integration-dsl-groovy-http return null when i use httpGet method
- Custom Spring annotation for request parameters
- Spring - configure Jboss Intros for xml with java config?
- HTTP Status 404 - Not Found in Spring 3.2.7
- AndroidAnnotations how to use setBearerAuth
- android I/O error: java.security.cert.CertPathValidatorException: Trust anchor for certification path not found
- Show login dialog when not authenticated yet
- Spring Data Rest supporting json and xml
- @Value annotation not resolved in a class that belongs to dependency jar
- Remove nested _embedded fields while using projections
- How to send Rest GET request that contains "#" value in url parameters?
- How to inject spring bean into Validator(hibernate)
- How to keep a variable in the URL when using Spring LocaleChangeInterceptor
Related Questions in JSP
- Why we use double % in Java or JSP
- How to get specific values from select menu and use her in mysql query?
- How to compile an individual jsp file from command line
- How to keep a variable in the URL when using Spring LocaleChangeInterceptor
- How to pass value from input text to jsp variable?
- Importing a downloaded JAR file into a Servlet
- Upload PDF and display on same page
- Use javascript variables in JSP code
- How to add '%' symbol in textbox using jsf and jsp?
- Execute RequestDispatcher after 5 seconds
- Score book using javabean; how do I get overall average?
- Struts2 jqGrid DatePicker in Column Filter
- java.lang.StackOverflowError in spring controller
- Error on java application
- Requested Resource is not available error
Related Questions in TEMPLATES
- C++ template using pointer and non pointer arguments in a QVector
- Django urls.py not rendering correct template
- SilverStripe - Multilingual Custom Form Template
- How do I change code template triggering behavior in Netbeans 8.0?
- C++ Templates with multiple constraints
- Access into a Binary Search Tree via a bound function in a function template
- Passing values from an array to child template in meteor
- Convert all html templates to single object and store it in a js file
- C++ static compilation of function with a variable number or arguments
- Boost/C++ eval_if fails
- Xpath rule template is missing in SonarQube 5.1
- Composite Server Templates tabs
- Variadic template method and std::function - compilation error
- C++ Custom std::map<> key class causing memory violation
- explicit instantiation of a function template having integers as template parameters
Related Questions in DEPRECATED
- Android is screen on or off deprecated isScreenOn()
- NameValuePair, HttpParams, HttpConnection Params deprecated on server request class for login app
- sizeWithFont does not get marked as deprecated when working with array, it is safe then?
- How do I allow deprecated features?
- Will Chrome and other browsers drop support for Synchronous XMLHttpRequest?
- For Selenium, how to migrate to using WebDriver for HttpCommandProcessor?
- Support deprecated and new API
- FB 4.0 - FBSession openActiveSessionWithReadPermissions replacement
- Remove "heightForRowAtIndexPath" for iOS8
- Can the OpenGL 'deprecated' functions possibly be unsupported?
- Why were the entire HTTP APIs in Android deprecated in API level 22?
- The method setDefaultPushCallback from the type PushService is deprecated using android
- The Date(String) is deprecated
- Gradle test task testReport task - Deprecated properties with Gradle 2.3 / Java7 or Java8
- Is JSP superseeded and if so, how?
Trending Questions
- UIImageView Frame Doesn't Reflect Constraints
- Is it possible to use adb commands to click on a view by finding its ID?
- How to create a new web character symbol recognizable by html/javascript?
- Why isn't my CSS3 animation smooth in Google Chrome (but very smooth on other browsers)?
- Heap Gives Page Fault
- Connect ffmpeg to Visual Studio 2008
- Both Object- and ValueAnimator jumps when Duration is set above API LvL 24
- How to avoid default initialization of objects in std::vector?
- second argument of the command line arguments in a format other than char** argv or char* argv[]
- How to improve efficiency of algorithm which generates next lexicographic permutation?
- Navigating to the another actvity app getting crash in android
- How to read the particular message format in android and store in sqlite database?
- Resetting inventory status after order is cancelled
- Efficiently compute powers of X in SSE/AVX
- Insert into an external database using ajax and php : POST 500 (Internal Server Error)
Popular Questions
- How do I undo the most recent local commits in Git?
- How can I remove a specific item from an array in JavaScript?
- How do I delete a Git branch locally and remotely?
- Find all files containing a specific text (string) on Linux?
- How do I revert a Git repository to a previous commit?
- How do I create an HTML button that acts like a link?
- How do I check out a remote Git branch?
- How do I force "git pull" to overwrite local files?
- How do I list all files of a directory?
- How to check whether a string contains a substring in JavaScript?
- How do I redirect to another webpage?
- How can I iterate over rows in a Pandas DataFrame?
- How do I convert a String to an int in Java?
- Does Python have a string 'contains' substring method?
- How do I check if a string contains a specific word?
Spring (as well as Struts, Apache Wicket and other frameworks) is based on servlets. When you're using Spring for web, you're using servlet as an underlying technology.
JSP is really a little bit outdated. And there are some inconveniences in it. For example, JSP is a real headache for web designers. Designers cannot just open a JSP file, make some changes, and check the result in the browser, because the JSP file contains tags that are invalid for HTML. The only way to see how the page will look like in the browser is to deploy the application and let the server render it.
Another inconvenience in JSP is that you can't externalize common layout into a dedicated file. All you can do is import one page into another with
<jsp:include>. And if you have hundreds of files, you have to repeat the same<jsp:include>in all of them to copy common parts.There are template engines that are more suitable for big projects when you have hundreds of complex dynamical pages. One popular template engine is Thymeleaf.
Thymeleaf's templates contain just valid HTML. That means designers and programmers can work in parallel. Also it has a good layout system. Moreover, Thymeleaf has much more readable and elegant syntax in contrast to JSP. Here is an example of the code for generating a simple table in Thymeleaf:
There are many other additional features like build-in support of internationalization, passing parameters to fragments and so on.
You can find more details on the comparison of Thymeleaf and JSP here and here.