2309:
351:
77:
2184:
36:
179:
443:
699:. The difference between servlets and JSP is that servlets typically embed HTML inside Java code, while JSPs embed Java code in HTML. In general, when using JSPs, embedding Java code in JSP is considered bad practice. Instead, a better approach would be to move the back-end logic from the JSP to the Java code in the
1152:
method determines the kind of request being made and dispatches it to an appropriate method to handle the request. The developer of the servlet must provide an implementation for these methods. If a request is made for a method that is not implemented by the servlet, the method of the parent class is
687:
is required for deploying and running a servlet. A web container (also known as a servlet container) is essentially the component of a web server that interacts with the servlets. The web container is responsible for managing the lifecycle of servlets, mapping a URL to a particular servlet and
665:. There are several ways of creating a servlet and using URL mapping with a servlet. Before servlet 3.0 specification (Tomcat 7.0), configuring the web.xml to map a servlet to a URL was the only option. For applications using the servlet 3.0 specification or later, the
751:
conference in May 1996. About two months after the announcements at the conference, the first public implementation was made available on the JavaSoft website. This was the first alpha of the Java Web Server (JWS; then known by its codename
2179:; Diwanji, Pavni & Connelly, David W., "Apparatus and method for dynamically generating information with server-side software objects", published 1999-07-27, issued 1999-07-27, assigned to
2247:
We cover
Version 2.0 of the Servlet API, which was introduced as part of the Java Web Server 1.1 in December 1997 and clarified by the release of the Java Servlet Development Kit 2.0 in April 1998.
195:
Violates
Knowledge:External links: "Knowledge articles may include links to web pages outside Knowledge (external links), but they should not normally be used in the body of an article."
1966:
612:
package defines Java objects to represent servlet requests and responses, as well as objects to reflect the servlet's configuration parameters and execution environment.
1894:
525:
that conforms to the
Jakarta Servlet API, a standard for implementing Java classes that respond to requests. Servlets could in principle communicate over any
718:
While the direct usage of servlets to generate HTML (as shown in the example below) has become rare, the higher level MVC web framework in
Jakarta EE (
2729:
2719:
2029:
1998:
2092:
927:
260:
1259:
method to relinquish any resources such as file handles that are allocated for the servlet; important data may be saved to a persistent store.
1976:
1818:
1042:
1941:
2711:
2615:
646:. This package includes session management objects that track multiple requests and responses between the web server and a client.
1796:
2252:
1235:
The servlet remains in the container's address space and is available to process any other HTTP requests received from clients.
141:
2766:
2284:
2240:
1857:
113:
3357:
2348:
2121:
1762:
1760:
2142:
1757:
634:
120:
3352:
1833:
1723:
The specification for
Servlet technology has been implemented in many products. See a list of implementations on the
1037:
1012:
775:, but the concept did not become a product until December 1996 when Sun shipped JWS. This was before what is now the
724:
616:
239:
221:
160:
63:
2058:
541:
2696:
1904:
988:
948:
625:
393:
94:
49:
707:
is only responsible for processing, and the JSP is only responsible for presenting the HTML, allowing for a clear
572:
The
Jakarta Servlet API has, to some extent, been superseded by two standard Java technologies for web services:
535:
189:
3240:
2681:
712:
127:
1876:
1874:
1872:
786:, with version 1.0 finalized in June 1997. Starting with version 2.2, the specification was developed under the
2895:
98:
967:
3034:
2497:
2492:
1869:
736:
696:
307:
109:
2761:
2608:
2482:
2389:
600:
577:
330:
3250:
2915:
2771:
2751:
2567:
2384:
2080:
2033:
772:
530:
463:
364:
301:
2724:
2008:
545:
class. Thus "servlet" is often used as shorthand for "HTTP servlet". Thus, a servlet can be used to add
3097:
2791:
2786:
2577:
2572:
2504:
1128:
654:
2317:
2172:
1122:
3314:
3084:
2997:
2891:
605:
2676:
2487:
2434:
2341:
1177:
1134:
732:
722:) still explicitly uses the servlet technology for the low level request/response handling via the
650:
584:
490:
199:
2975:
1779:
3319:
3117:
2601:
2198:
526:
87:
17:
1212:
It is possible to pass initialization parameters to the servlet so that it may configure itself.
2803:
2641:
2541:
1826:
787:
708:
414:
3039:
2992:
2922:
2691:
1743:
134:
1926:
3112:
2980:
2811:
2449:
2424:
2379:
2199:"What's new in Servlet 3.1 ? - Java EE 7 moving forward (Arun Gupta, Miles to go ...)"
1845:
1141:
692:
55:
1805:, pp. 128–129, §2 Essential servlet and JSP skills - How to create and map a servlet.
8:
3324:
3107:
2945:
2734:
2520:
2464:
2439:
2416:
2334:
1113:. They are implemented by every servlet and are invoked at specific times by the server.
2781:
1197:
The servlet is dynamically retrieved and loaded into the address space of the container.
731:
A somewhat older usage is to use servlets in conjunction with JSPs in a pattern called "
473:. Although servlets can respond to many types of requests, they most commonly implement
350:
3222:
3044:
2910:
2551:
2525:
2459:
2308:
2261:, pp. 160–163, §15 How to develop servlet - More skills for working with servlets.
1730:
There are also other types of servlet containers such as those for SIP servlets, e.g.,
1191:
The HTTP request is received by the web server and forwarded to the servlet container.
470:
466:
398:
371:
272:
3235:
2866:
2444:
2302:
2280:
2236:
2232:
2225:
2066:
673:
1866:, p. 74, §1 Get started right - Other skills for working with web applications.
3304:
3285:
3226:
3196:
3186:
2180:
2117:
2113:
2088:
1262:
The memory allocated for the servlet and its objects can then be garbage collected.
783:
546:
494:
447:
409:
608:
that receives a request and generates a response based on that request. The basic
3309:
3280:
2546:
2429:
2366:
2321:
1118:
867:
841:
822:
677:
478:
1769:, pp. 170–171, §2 Essential servlet and JSP skills - Perspective - Summary.
1247:
The container may, at some point, decide to unload the servlet from its memory.
198:
The references used may be made clearer with a different or consistent style of
3102:
3074:
3029:
203:
3346:
3331:
3292:
3270:
3157:
3059:
3007:
2744:
2394:
2176:
2150:
1842:, pp. 40–42, §1 Get started right - The servlet for back-end processing.
1724:
1250:
The algorithms by which this decision is made are specific to each container.
1140:
After initialization, the servlet instance can service client requests. Each
768:
719:
684:
554:
474:
425:
2326:
1321:
is overridden and does not distinguish which HTTP request method it serves.
1029:
Becomes part of J2EE, introduced independent web applications in .war files
782:
The
Servlet1 specification was created by Pavni Diwanji while she worked at
3230:
2886:
2756:
2454:
940:
Pluggability, Ease of development, Async
Servlet, Security, File Uploading
620:
3127:
3064:
2958:
2936:
2882:
2632:
2474:
1209:
This method is invoked only when the servlet is first loaded into memory.
662:
658:
591:
1153:
called, typically resulting in an error being returned to the requester.
629:, defines the expected interactions of the web container and a servlet.
3069:
3049:
3024:
2970:
2963:
2851:
2831:
2357:
1021:
1017:
972:
932:
907:
886:
776:
669:
annotation can be used to map any servlet to one or more URL patterns.
550:
522:
518:
482:
376:
339:
267:
255:
993:
3092:
3054:
2846:
2701:
2406:
2003:
1971:
1899:
1883:, pp. 46–47, §1 Get started right - The JSP for the second page.
1227:
The servlet may read data that has been provided in the HTTP request.
916:
764:
383:
1144:
is serviced in its own separate thread. The web container calls the
1121:, the web container initializes the servlet instance by calling the
1101:
Three methods are central to the life cycle of a servlet. These are
76:
3275:
3132:
2900:
2861:
2856:
2836:
2826:
2821:
2399:
760:
747:
The Java
Servlet API was first publicly announced at the inaugural
1133:
interface. This configuration object allows the servlet to access
756:) which would eventually be shipped as a product on June 5, 1997.
3245:
3191:
2987:
2905:
2686:
2624:
2593:
1937:
1731:
1317:, and so on; according to the HTTP request. In the example below
748:
502:
486:
402:
830:
remove deprecated features and implement requested enhancements
539:
class; however, realistically speaking, all servlets extend the
3202:
3142:
3137:
3016:
2816:
2669:
2659:
2654:
1925:
Diwanji, Pavani; Connelly, Dave; Wagle, Prasad (May 29, 1996).
1230:
The servlet may also formulate an HTTP response for the client.
894:
688:
ensuring that the URL requester has the correct access rights.
3170:
3165:
3147:
2953:
2664:
2223:
Crawford, William; Hunter, Jason (November 1998). "Preface".
767:
lead Jim
Driscoll details the history of servlet technology.
3297:
2776:
2649:
2582:
2314:
1172:
The following is a typical user scenario of these methods.
639:
588:
566:
558:
1967:"Interview: The Java Web Server team gives you the skinny"
1090:
Part of June 1997 Java Servlet Development Kit (JSDK) 1.0
442:
3122:
2841:
580:(JAX-RS 2.0) useful for AJAX, JSON and REST services, and
562:
498:
1271:
The following example servlet prints how many times its
1194:
The container maps this request to a particular servlet.
1183:
The browser then generates an HTTP request for this URL.
2171:
1924:
1186:
This request is then sent to the appropriate server.
1168:, is called only once in the lifecycle of a servlet.
1074:
Part of April 1998 Java Servlet Development Kit 2.0
1137:
initialization parameters from the web application.
915:
Non-blocking I/O, HTTP protocol upgrade mechanism (
657:variables across many server transactions by using
101:. Unsourced material may be challenged and removed.
2224:
1854:, p. 87, §2 Essential servlet and JSP skills.
1224:This method is called to process the HTTP request.
1160:method that takes the servlet out of service. The
3344:
2052:
2050:
771:first thought of servlets in the early days of
2222:
2032:. Weblogs.java.net. 2005-12-10. Archived from
2609:
2356:
2342:
2030:"Servlet History | community.oracle.com"
1148:method of the servlet for every request. The
691:Servlets can be generated automatically from
2047:
1780:"Servlet (Java(TM) EE 7 Specification APIs)"
533:. In principle, any servlets can extend the
529:protocol, but they are most often used with
2274:
2258:
1880:
1863:
1851:
1839:
1802:
1766:
1127:method, passing an object implementing the
1117:During initialization stage of the servlet
64:Learn how and when to remove these messages
2616:
2602:
2349:
2335:
2307:
1096:
485:and thus qualify as a server-side servlet
349:
1301:class dispatches requests to the methods
240:Learn how and when to remove this message
222:Learn how and when to remove this message
161:Learn how and when to remove this message
1892:
1374:jakarta.servlet.http.HttpServletResponse
959:Requires Java SE 5, supports annotation
441:
1365:jakarta.servlet.http.HttpServletRequest
1242:method is called for each HTTP request.
1176:Assume that a user requests to visit a
14:
3345:
2056:
1635:"Incrementing the count to "
2597:
2330:
2275:Murach, Joel; Urban, Michael (2014).
1996:
1964:
1156:Finally, the web container calls the
27:Jakarta EE programming language class
1813:
1811:
1718:
1050:First official specification, added
557:. The generated content is commonly
172:
99:adding citations to reliable sources
70:
29:
469:that extends the capabilities of a
24:
2623:
1255:The container calls the servlet's
25:
3369:
2294:
1997:Chang, Phil Inje (June 1, 1997).
1965:Chang, Phil Inje (July 1, 1997).
1808:
45:This article has multiple issues.
1893:Freedman, Matt (June 26, 1996).
1819:"Servlet Essentials - Chapter 1"
1356:jakarta.servlet.http.HttpServlet
1347:jakarta.servlet.ServletException
1084:
1067:
561:, but may be other data such as
177:
75:
34:
2216:
2191:
2165:
2135:
2124:from the original on 2002-02-06
2106:
2095:from the original on 1998-01-11
2073:
2065:. O'Reilly Conference on Java.
2063:Beyond Java Servlet Programming
2022:
1990:
1958:
1947:from the original on 2000-08-16
1918:
854:
850:
779:was made into a specification.
713:single-responsibility principle
508:
86:needs additional citations for
53:or discuss these issues on the
2277:Murach's Java Servlets and JSP
2147:Family Online Safety Institute
1886:
1772:
875:Renamed from "Java" trademark
672:Servlets may be packaged in a
13:
1:
2268:
1934:Servers and Server Extensions
1647:// accessing a local variable
1338:jakarta.servlet.ServletConfig
697:Jakarta Server Pages compiler
2057:Hunter, Jason (March 2000).
1750:
1704:"destroy() called"
1563:"service() called"
735:", which is a flavor of the
642:-specific subclasses of the
578:Jakarta RESTful Web Services
489:. Such web servlets are the
7:
3358:Java specification requests
1895:"JavaOne conference report"
1737:
1286:, an implementation of the
1130:javax.servlet.ServletConfig
284:; 27 years ago
10:
3374:
1927:"Java Server and Servlets"
1266:
1217:The container invokes the
1202:The container invokes the
742:
3263:
3215:
3179:
3156:
3083:
3015:
3006:
2944:
2935:
2875:
2802:
2710:
2640:
2631:
2560:
2534:
2513:
2473:
2415:
2365:
1476:"init() called"
420:
408:
392:
382:
370:
360:
329:
325:
300:
296:
278:
266:
254:
3353:Java enterprise platform
2227:Java Servlet Programming
1999:"Java Web Server ships!"
1323:
980:web.xml uses XML Schema
703:. This ensures that the
585:Jakarta XML Web Services
2259:Murach & Urban 2014
1881:Murach & Urban 2014
1864:Murach & Urban 2014
1852:Murach & Urban 2014
1840:Murach & Urban 2014
1803:Murach & Urban 2014
1767:Murach & Urban 2014
1386:ServletLifeCycleExample
1221:method of the servlet.
1206:method of the servlet.
1097:Life cycle of a servlet
849:API moved from package
711:and conformance to the
193:. The reason given is:
788:Java Community Process
709:separation of concerns
649:Servlets can maintain
451:
415:Eclipse Public License
2583:Streaming API for XML
2498:Web Services Metadata
2493:SOAP with Attachments
2173:US patent 5928323
2114:"Java Web Server(tm)"
1744:Apache JServ Protocol
861:Jakarta Servlet 4.0.3
737:model–view–controller
497:technologies such as
493:counterpart to other
445:
312:; 2 years ago
2425:Dependency injection
956:Java EE 5, Java SE 5
937:Java EE 6, Java SE 6
794:Servlet API history
693:Jakarta Server Pages
587:(JAX-WS) useful for
95:improve this article
2385:Expression Language
1527:HttpServletResponse
1329:java.io.IOException
1275:method was called.
835:Jakarta Servlet 5.0
816:Jakarta Servlet 6.0
799:Servlet API version
795:
619:, contained in the
565:and more commonly,
495:dynamic web content
310:/ May 31, 2022
2911:Application server
2320:2018-07-25 at the
2059:"Servlet Timeline"
1515:HttpServletRequest
1026:J2EE 1.2, J2SE 1.2
998:J2EE 1.3, J2SE 1.2
977:J2EE 1.4, J2SE 1.3
811:Important Changes
793:
763:, Sun veteran and
635:javax.servlet.http
467:software component
452:
399:Software component
282:December 1996
273:Eclipse Foundation
256:Original author(s)
3340:
3339:
3259:
3258:
3236:Browser extension
3211:
3210:
2931:
2930:
2867:Phusion Passenger
2591:
2590:
2286:978-1-890774-78-3
2242:978-1-56592-391-1
2177:Gosling, James A.
2081:"Java Web Server"
1719:Container servers
1692:getServletContext
1668:// flush response
1551:getServletContext
1464:getServletContext
1282:is a subclass of
1094:
1093:
1052:RequestDispatcher
440:
439:
250:
249:
242:
232:
231:
224:
171:
170:
163:
145:
110:"Jakarta Servlet"
68:
16:(Redirected from
3365:
3305:Web API security
3227:Remote scripting
3197:Web SQL Database
3013:
3012:
2942:
2941:
2638:
2637:
2618:
2611:
2604:
2595:
2594:
2435:Enterprise Beans
2351:
2344:
2337:
2328:
2327:
2311:
2306:
2305:
2303:Official website
2290:
2262:
2256:
2250:
2249:
2235:. p. ix–x.
2231:(1st ed.).
2230:
2220:
2214:
2213:
2211:
2209:
2195:
2189:
2188:
2187:
2183:
2181:Sun Microsystems
2169:
2163:
2162:
2160:
2158:
2149:. Archived from
2139:
2133:
2132:
2130:
2129:
2118:Sun Microsystems
2110:
2104:
2103:
2101:
2100:
2089:Sun Microsystems
2077:
2071:
2070:
2054:
2045:
2044:
2042:
2041:
2026:
2020:
2019:
2017:
2016:
2007:. Archived from
1994:
1988:
1987:
1985:
1984:
1975:. Archived from
1962:
1956:
1955:
1953:
1952:
1946:
1931:
1922:
1916:
1915:
1913:
1912:
1903:. Archived from
1890:
1884:
1878:
1867:
1861:
1855:
1849:
1843:
1837:
1831:
1830:
1825:. Archived from
1815:
1806:
1800:
1794:
1793:
1791:
1790:
1776:
1770:
1764:
1714:
1711:
1708:
1705:
1702:
1699:
1696:
1693:
1690:
1687:
1684:
1681:
1678:
1675:
1672:
1669:
1666:
1663:
1660:
1657:
1654:
1651:
1648:
1645:
1642:
1639:
1636:
1633:
1630:
1627:
1624:
1621:
1618:
1615:
1612:
1609:
1606:
1603:
1600:
1597:
1594:
1591:
1588:
1585:
1582:
1579:
1576:
1573:
1570:
1567:
1564:
1561:
1558:
1555:
1552:
1549:
1546:
1543:
1540:
1539:ServletException
1537:
1534:
1531:
1528:
1525:
1522:
1519:
1516:
1513:
1510:
1507:
1504:
1501:
1498:
1495:
1492:
1489:
1486:
1483:
1480:
1477:
1474:
1471:
1468:
1465:
1462:
1459:
1456:
1453:
1450:
1447:
1444:
1441:
1440:ServletException
1438:
1435:
1432:
1429:
1426:
1423:
1420:
1417:
1414:
1411:
1408:
1405:
1402:
1399:
1396:
1393:
1390:
1387:
1384:
1381:
1378:
1375:
1372:
1369:
1366:
1363:
1360:
1357:
1354:
1351:
1348:
1345:
1342:
1339:
1336:
1333:
1330:
1327:
1320:
1316:
1312:
1308:
1304:
1300:
1296:
1289:
1285:
1281:
1274:
1258:
1241:
1220:
1205:
1167:
1163:
1159:
1151:
1147:
1131:
1125:
1112:
1108:
1104:
1079:Java Servlet 1.0
1062:Java Servlet 2.0
1057:
1053:
1034:Java Servlet 2.1
1009:Java Servlet 2.2
1004:
985:Java Servlet 2.3
964:Java Servlet 2.4
945:Java Servlet 2.5
924:Java Servlet 3.0
901:Java Servlet 3.1
880:Java Servlet 4.0
856:
852:
796:
792:
784:Sun Microsystems
727:
706:
702:
668:
645:
637:
628:
611:
603:
544:
538:
479:web applications
436:
433:
431:
429:
427:
353:
348:
345:
343:
341:
320:
318:
313:
292:
290:
285:
252:
251:
245:
238:
227:
220:
216:
213:
207:
181:
180:
173:
166:
159:
155:
152:
146:
144:
103:
79:
71:
60:
38:
37:
30:
21:
3373:
3372:
3368:
3367:
3366:
3364:
3363:
3362:
3343:
3342:
3341:
3336:
3310:Web application
3255:
3207:
3175:
3152:
3079:
3002:
2927:
2871:
2798:
2777:JavaScript JSGI
2757:ASP.NET Handler
2740:Jakarta Servlet
2706:
2627:
2622:
2592:
2587:
2556:
2530:
2509:
2469:
2430:Bean Validation
2411:
2361:
2355:
2322:Wayback Machine
2301:
2300:
2297:
2287:
2271:
2266:
2265:
2257:
2253:
2243:
2221:
2217:
2207:
2205:
2197:
2196:
2192:
2185:
2170:
2166:
2156:
2154:
2153:on 26 July 2018
2143:"Pavni Diwanji"
2141:
2140:
2136:
2127:
2125:
2112:
2111:
2107:
2098:
2096:
2079:
2078:
2074:
2055:
2048:
2039:
2037:
2028:
2027:
2023:
2014:
2012:
1995:
1991:
1982:
1980:
1963:
1959:
1950:
1948:
1944:
1929:
1923:
1919:
1910:
1908:
1891:
1887:
1879:
1870:
1862:
1858:
1850:
1846:
1838:
1834:
1817:
1816:
1809:
1801:
1797:
1788:
1786:
1778:
1777:
1773:
1765:
1758:
1753:
1740:
1721:
1716:
1715:
1712:
1709:
1706:
1703:
1700:
1697:
1694:
1691:
1688:
1685:
1682:
1679:
1676:
1673:
1670:
1667:
1664:
1661:
1658:
1655:
1652:
1649:
1646:
1643:
1640:
1637:
1634:
1631:
1628:
1625:
1622:
1619:
1616:
1613:
1610:
1607:
1604:
1601:
1598:
1595:
1592:
1589:
1586:
1583:
1580:
1577:
1574:
1571:
1568:
1565:
1562:
1559:
1556:
1553:
1550:
1547:
1544:
1541:
1538:
1535:
1532:
1529:
1526:
1523:
1520:
1517:
1514:
1511:
1508:
1505:
1502:
1499:
1496:
1493:
1490:
1487:
1484:
1481:
1478:
1475:
1472:
1469:
1466:
1463:
1460:
1457:
1454:
1451:
1448:
1445:
1442:
1439:
1436:
1433:
1430:
1427:
1424:
1421:
1418:
1415:
1412:
1409:
1406:
1403:
1400:
1397:
1394:
1391:
1388:
1385:
1382:
1379:
1376:
1373:
1370:
1367:
1364:
1361:
1358:
1355:
1352:
1349:
1346:
1343:
1340:
1337:
1334:
1331:
1328:
1325:
1318:
1314:
1310:
1306:
1302:
1298:
1294:
1287:
1283:
1279:
1272:
1269:
1256:
1239:
1218:
1203:
1165:
1161:
1157:
1149:
1145:
1129:
1123:
1110:
1106:
1102:
1099:
1055:
1051:
1002:
855:jakarta.servlet
759:In his blog on
745:
723:
704:
700:
678:web application
666:
643:
633:
624:
609:
599:
547:dynamic content
540:
534:
515:Jakarta Servlet
511:
456:Jakarta Servlet
430:/specifications
424:
356:
338:
321:
316:
314:
311:
288:
286:
283:
279:Initial release
246:
235:
234:
233:
228:
217:
211:
208:
197:
188:has an unclear
182:
178:
167:
156:
150:
147:
104:
102:
92:
80:
39:
35:
28:
23:
22:
15:
12:
11:
5:
3371:
3361:
3360:
3355:
3338:
3337:
3335:
3334:
3329:
3328:
3327:
3322:
3317:
3307:
3302:
3301:
3300:
3290:
3289:
3288:
3283:
3273:
3267:
3265:
3261:
3260:
3257:
3256:
3254:
3253:
3248:
3243:
3238:
3233:
3219:
3217:
3213:
3212:
3209:
3208:
3206:
3205:
3200:
3199:(formerly W3C)
3194:
3189:
3183:
3181:
3177:
3176:
3174:
3173:
3168:
3162:
3160:
3154:
3153:
3151:
3150:
3145:
3140:
3135:
3130:
3125:
3120:
3115:
3110:
3105:
3100:
3095:
3089:
3087:
3081:
3080:
3078:
3077:
3075:XMLHttpRequest
3072:
3067:
3062:
3057:
3052:
3047:
3042:
3037:
3032:
3027:
3021:
3019:
3010:
3004:
3003:
3001:
3000:
2995:
2990:
2985:
2984:
2983:
2973:
2968:
2967:
2966:
2961:
2950:
2948:
2939:
2933:
2932:
2929:
2928:
2926:
2925:
2920:
2919:
2918:
2908:
2903:
2898:
2889:
2879:
2877:
2873:
2872:
2870:
2869:
2864:
2859:
2854:
2849:
2844:
2839:
2834:
2829:
2824:
2819:
2814:
2808:
2806:
2804:Apache modules
2800:
2799:
2797:
2796:
2795:
2794:
2784:
2779:
2774:
2769:
2764:
2759:
2754:
2749:
2748:
2747:
2737:
2732:
2727:
2722:
2716:
2714:
2708:
2707:
2705:
2704:
2699:
2694:
2689:
2684:
2679:
2674:
2673:
2672:
2667:
2662:
2657:
2646:
2644:
2635:
2629:
2628:
2625:Web interfaces
2621:
2620:
2613:
2606:
2598:
2589:
2588:
2586:
2585:
2580:
2575:
2570:
2564:
2562:
2558:
2557:
2555:
2554:
2549:
2544:
2538:
2536:
2532:
2531:
2529:
2528:
2523:
2517:
2515:
2511:
2510:
2508:
2507:
2502:
2501:
2500:
2495:
2485:
2479:
2477:
2471:
2470:
2468:
2467:
2462:
2457:
2452:
2447:
2442:
2437:
2432:
2427:
2421:
2419:
2417:Enterprise app
2413:
2412:
2410:
2409:
2404:
2403:
2402:
2392:
2387:
2382:
2377:
2371:
2369:
2363:
2362:
2360:specifications
2354:
2353:
2346:
2339:
2331:
2325:
2324:
2312:
2296:
2295:External links
2293:
2292:
2291:
2285:
2270:
2267:
2264:
2263:
2251:
2241:
2233:O'Reilly Media
2215:
2190:
2164:
2134:
2105:
2072:
2067:O'Reilly Media
2046:
2021:
1989:
1957:
1917:
1885:
1868:
1856:
1844:
1832:
1829:on 2017-12-18.
1807:
1795:
1771:
1755:
1754:
1752:
1749:
1748:
1747:
1739:
1736:
1720:
1717:
1324:
1284:GenericServlet
1268:
1265:
1264:
1263:
1260:
1253:
1252:
1251:
1245:
1244:
1243:
1233:
1232:
1231:
1228:
1225:
1215:
1214:
1213:
1210:
1200:
1199:
1198:
1195:
1189:
1188:
1187:
1184:
1170:
1169:
1154:
1138:
1098:
1095:
1092:
1091:
1088:
1086:
1083:
1080:
1076:
1075:
1072:
1069:
1066:
1063:
1059:
1058:
1056:ServletContext
1048:
1045:
1040:
1035:
1031:
1030:
1027:
1024:
1015:
1010:
1006:
1005:
999:
996:
991:
986:
982:
981:
978:
975:
970:
965:
961:
960:
957:
954:
951:
949:September 2005
946:
942:
941:
938:
935:
930:
925:
921:
920:
913:
910:
905:
902:
898:
897:
892:
889:
884:
881:
877:
876:
873:
870:
865:
862:
858:
857:
847:
844:
839:
836:
832:
831:
828:
825:
820:
817:
813:
812:
809:
806:
803:
800:
744:
741:
644:GenericServlet
596:
595:
581:
536:GenericServlet
510:
507:
475:web containers
438:
437:
422:
418:
417:
412:
406:
405:
396:
390:
389:
386:
380:
379:
374:
368:
367:
362:
358:
357:
355:
354:
335:
333:
327:
326:
323:
322:
306:
304:
302:Stable release
298:
297:
294:
293:
280:
276:
275:
270:
264:
263:
258:
248:
247:
230:
229:
190:citation style
185:
183:
176:
169:
168:
83:
81:
74:
69:
43:
42:
40:
33:
26:
9:
6:
4:
3:
2:
3370:
3359:
3356:
3354:
3351:
3350:
3348:
3333:
3332:Web framework
3330:
3326:
3323:
3321:
3318:
3316:
3313:
3312:
3311:
3308:
3306:
3303:
3299:
3296:
3295:
3294:
3293:Web standards
3291:
3287:
3284:
3282:
3279:
3278:
3277:
3274:
3272:
3271:Microservices
3269:
3268:
3266:
3262:
3252:
3249:
3247:
3244:
3242:
3239:
3237:
3234:
3232:
3228:
3224:
3221:
3220:
3218:
3214:
3204:
3201:
3198:
3195:
3193:
3190:
3188:
3185:
3184:
3182:
3178:
3172:
3169:
3167:
3164:
3163:
3161:
3159:
3155:
3149:
3146:
3144:
3141:
3139:
3136:
3134:
3131:
3129:
3126:
3124:
3121:
3119:
3116:
3114:
3111:
3109:
3106:
3104:
3101:
3099:
3096:
3094:
3091:
3090:
3088:
3086:
3082:
3076:
3073:
3071:
3068:
3066:
3063:
3061:
3060:Web messaging
3058:
3056:
3053:
3051:
3048:
3046:
3043:
3041:
3038:
3036:
3033:
3031:
3028:
3026:
3023:
3022:
3020:
3018:
3014:
3011:
3009:
3005:
2999:
2996:
2994:
2991:
2989:
2986:
2982:
2979:
2978:
2977:
2974:
2972:
2969:
2965:
2962:
2960:
2957:
2956:
2955:
2952:
2951:
2949:
2947:
2943:
2940:
2938:
2934:
2924:
2921:
2917:
2914:
2913:
2912:
2909:
2907:
2904:
2902:
2899:
2897:
2893:
2890:
2888:
2884:
2881:
2880:
2878:
2874:
2868:
2865:
2863:
2860:
2858:
2855:
2853:
2850:
2848:
2845:
2843:
2840:
2838:
2835:
2833:
2830:
2828:
2825:
2823:
2820:
2818:
2815:
2813:
2810:
2809:
2807:
2805:
2801:
2793:
2790:
2789:
2788:
2785:
2783:
2780:
2778:
2775:
2773:
2770:
2768:
2765:
2763:
2760:
2758:
2755:
2753:
2750:
2746:
2743:
2742:
2741:
2738:
2736:
2733:
2731:
2728:
2726:
2723:
2721:
2718:
2717:
2715:
2713:
2709:
2703:
2700:
2698:
2695:
2693:
2690:
2688:
2685:
2683:
2680:
2678:
2675:
2671:
2668:
2666:
2663:
2661:
2658:
2656:
2653:
2652:
2651:
2648:
2647:
2645:
2643:
2639:
2636:
2634:
2630:
2626:
2619:
2614:
2612:
2607:
2605:
2600:
2599:
2596:
2584:
2581:
2579:
2576:
2574:
2571:
2569:
2566:
2565:
2563:
2559:
2553:
2550:
2548:
2545:
2543:
2540:
2539:
2537:
2533:
2527:
2524:
2522:
2519:
2518:
2516:
2512:
2506:
2503:
2499:
2496:
2494:
2491:
2490:
2489:
2486:
2484:
2481:
2480:
2478:
2476:
2472:
2466:
2463:
2461:
2458:
2456:
2453:
2451:
2448:
2446:
2443:
2441:
2438:
2436:
2433:
2431:
2428:
2426:
2423:
2422:
2420:
2418:
2414:
2408:
2405:
2401:
2398:
2397:
2396:
2393:
2391:
2388:
2386:
2383:
2381:
2378:
2376:
2373:
2372:
2370:
2368:
2364:
2359:
2352:
2347:
2345:
2340:
2338:
2333:
2332:
2329:
2323:
2319:
2316:
2313:
2310:
2304:
2299:
2298:
2288:
2282:
2278:
2273:
2272:
2260:
2255:
2248:
2244:
2238:
2234:
2229:
2228:
2219:
2204:
2200:
2194:
2182:
2178:
2174:
2168:
2152:
2148:
2144:
2138:
2123:
2119:
2115:
2109:
2094:
2090:
2086:
2082:
2076:
2068:
2064:
2060:
2053:
2051:
2036:on 2020-08-15
2035:
2031:
2025:
2011:on 2018-07-26
2010:
2006:
2005:
2000:
1993:
1979:on 2018-07-26
1978:
1974:
1973:
1968:
1961:
1943:
1939:
1935:
1928:
1921:
1907:on 2018-07-26
1906:
1902:
1901:
1896:
1889:
1882:
1877:
1875:
1873:
1865:
1860:
1853:
1848:
1841:
1836:
1828:
1824:
1820:
1814:
1812:
1804:
1799:
1785:
1781:
1775:
1768:
1763:
1761:
1756:
1745:
1742:
1741:
1735:
1733:
1728:
1726:
1725:web container
1608:sharedCounter
1593:sharedCounter
1584:sharedCounter
1482:sharedCounter
1428:ServletConfig
1404:sharedCounter
1322:
1291:
1276:
1261:
1254:
1249:
1248:
1246:
1237:
1236:
1234:
1229:
1226:
1223:
1222:
1216:
1211:
1208:
1207:
1201:
1196:
1193:
1192:
1190:
1185:
1182:
1181:
1179:
1175:
1174:
1173:
1164:method, like
1155:
1143:
1139:
1136:
1132:
1126:
1120:
1116:
1115:
1114:
1089:
1087:
1082:December 1996
1081:
1078:
1077:
1073:
1070:
1065:December 1997
1064:
1061:
1060:
1049:
1046:
1044:
1041:
1039:
1038:November 1998
1036:
1033:
1032:
1028:
1025:
1023:
1019:
1016:
1014:
1011:
1008:
1007:
1000:
997:
995:
992:
990:
987:
984:
983:
979:
976:
974:
971:
969:
968:November 2003
966:
963:
962:
958:
955:
952:
950:
947:
944:
943:
939:
936:
934:
931:
929:
928:December 2009
926:
923:
922:
918:
914:
911:
909:
906:
903:
900:
899:
896:
893:
890:
888:
885:
882:
879:
878:
874:
871:
869:
866:
863:
860:
859:
851:javax.servlet
848:
845:
843:
840:
837:
834:
833:
829:
827:Jakarta EE 10
826:
824:
821:
818:
815:
814:
810:
807:
805:Specification
804:
801:
798:
797:
791:
789:
785:
780:
778:
774:
770:
769:James Gosling
766:
762:
757:
755:
750:
740:
738:
734:
729:
726:
721:
716:
714:
710:
698:
695:(JSP) by the
694:
689:
686:
685:web container
681:
679:
675:
670:
664:
660:
656:
652:
647:
641:
636:
630:
627:
626:javax.servlet
622:
618:
613:
607:
602:
593:
590:
586:
582:
579:
575:
574:
573:
570:
568:
564:
560:
556:
555:Java platform
552:
548:
543:
537:
532:
528:
527:client–server
524:
520:
516:
506:
504:
500:
496:
492:
488:
484:
480:
476:
472:
468:
465:
461:
457:
449:
444:
435:
423:
419:
416:
413:
411:
407:
404:
400:
397:
395:
391:
387:
385:
381:
378:
375:
373:
369:
366:
363:
359:
352:
347:
337:
336:
334:
332:
328:
324:
309:
305:
303:
299:
295:
281:
277:
274:
271:
269:
265:
262:
261:Pavni Diwanji
259:
257:
253:
244:
241:
226:
223:
215:
205:
201:
196:
192:
191:
186:This article
184:
175:
174:
165:
162:
154:
151:February 2014
143:
140:
136:
133:
129:
126:
122:
119:
115:
112: –
111:
107:
106:Find sources:
100:
96:
90:
89:
84:This article
82:
78:
73:
72:
67:
65:
58:
57:
52:
51:
46:
41:
32:
31:
19:
2946:Browser APIs
2887:Web resource
2739:
2475:Web services
2374:
2315:Servlets.com
2276:
2254:
2246:
2226:
2218:
2206:. Retrieved
2202:
2193:
2167:
2155:. Retrieved
2151:the original
2146:
2137:
2126:. Retrieved
2108:
2097:. Retrieved
2084:
2075:
2062:
2038:. Retrieved
2034:the original
2024:
2013:. Retrieved
2009:the original
2002:
1992:
1981:. Retrieved
1977:the original
1970:
1960:
1949:. Retrieved
1933:
1920:
1909:. Retrieved
1905:the original
1898:
1888:
1859:
1847:
1835:
1827:the original
1823:novocode.com
1822:
1798:
1787:. Retrieved
1783:
1774:
1729:
1722:
1641:localCounter
1602:localCounter
1578:synchronized
1572:localCounter
1292:
1277:
1270:
1171:
1100:
1001:Addition of
872:Jakarta EE 8
864:Sep 10, 2019
846:Jakarta EE 9
819:May 31, 2022
781:
758:
753:
746:
730:
725:FacesServlet
717:
690:
682:
671:
659:HTTP cookies
648:
632:The package
631:
621:Java package
615:The Servlet
614:
597:
592:Web Services
571:
514:
512:
509:Introduction
477:for hosting
460:Java Servlet
459:
455:
453:
268:Developer(s)
236:
218:
209:
194:
187:
157:
148:
138:
131:
124:
117:
105:
93:Please help
88:verification
85:
61:
54:
48:
47:Please help
44:
3325:Progressive
3320:Single-page
3128:WebAssembly
3108:Geolocation
3065:Web storage
2971:C NPRuntime
2959:LiveConnect
2937:Client-side
2883:Web service
2812:mod_include
2767:Python ASGI
2762:Python WSGI
2712:Server APIs
2633:Server-side
2465:Annotations
2208:22 November
2157:12 November
1545:IOException
1392:HttpServlet
1299:HttpServlet
1290:interface.
1280:HttpServlet
1047:Unspecified
1013:August 1999
989:August 2001
838:Oct 9, 2020
667:@WebServlet
663:URL mapping
542:HttpServlet
483:web servers
458:, formerly
3347:Categories
3093:DOM events
3070:Web worker
3055:WebSockets
2916:comparison
2852:mod_python
2832:mod_parrot
2665:Encryption
2552:Management
2358:Jakarta EE
2269:References
2203:oracle.com
2128:2020-02-01
2099:2020-02-01
2040:2013-06-14
2015:2018-07-25
1983:2018-07-25
1951:2020-02-01
1911:2018-07-25
1789:2018-07-25
1784:oracle.com
1315:doDelete()
1297:method of
1278:Note that
1135:name-value
1119:life cycle
777:Jakarta EE
623:hierarchy
553:using the
551:web server
523:Jakarta EE
519:Java class
446:Life of a
377:Jakarta EE
361:Written in
344:/jakartaee
331:Repository
317:2022-05-31
204:footnoting
121:newspapers
50:improve it
3251:Scripting
3113:IndexedDB
2964:XPConnect
2923:Scripting
2847:mod_proxy
2792:container
2782:Perl PSGI
2772:Ruby Rack
2745:container
2702:WebSocket
2642:Protocols
2407:WebSocket
2004:JavaWorld
1972:JavaWorld
1900:JavaWorld
1751:Citations
1674:@Override
1656:getWriter
1623:getWriter
1500:protected
1497:@Override
1410:@Override
1319:service()
1295:service()
1273:service()
1257:destroy()
1240:service()
1219:service()
1162:destroy()
1158:destroy()
1150:service()
1146:service()
1111:destroy()
1107:service()
917:WebSocket
912:Java EE 7
891:Java EE 8
765:GlassFish
56:talk page
3276:Web page
3133:WebAuthn
3008:Web APIs
2901:Open API
2862:mod_ruby
2857:mod_wsgi
2837:mod_perl
2827:mod_mono
2822:mod_lisp
2752:CLI OWIN
2400:Facelets
2318:Archived
2122:Archived
2093:Archived
2085:Javasoft
1942:Archived
1738:See also
1650:response
1617:response
1530:response
1307:doPost()
904:May 2013
883:Sep 2017
808:Platform
802:Released
761:java.net
674:WAR file
638:defines
432:/servlet
372:Platform
346:/servlet
212:May 2016
200:citation
3286:Dynamic
3246:Web IDL
3192:GraphQL
3158:Khronos
2988:ActiveX
2976:C PPAPI
2954:C NPAPI
2906:Webhook
2842:mod_php
2787:Portlet
2735:COM ASP
2730:C ISAPI
2725:C ASAPI
2720:C NSAPI
2561:Related
2547:JAX-RPC
2535:Removed
2375:Servlet
2367:Web app
1938:JavaOne
1732:SailFin
1683:destroy
1518:request
1506:service
1401:Integer
1398:private
1389:extends
1311:doPut()
1303:doGet()
1288:Servlet
1267:Example
1142:request
1071:JDK 1.1
1022:JSR 903
1018:JSR 902
973:JSR 154
953:JSR 154
933:JSR 315
908:JSR 340
887:JSR 369
749:JavaOne
743:History
733:Model 2
705:Servlet
701:Servlet
655:session
610:Servlet
601:Servlet
503:ASP.NET
487:web API
426:jakarta
421:Website
410:License
403:Web API
388:2.56 MB
315: (
289:1996-12
287: (
135:scholar
18:Servlet
3281:Static
3264:Topics
3241:Mashup
3216:Topics
3203:WebUSB
3180:Others
3143:WebRTC
3138:WebGPU
3030:Canvas
3017:WHATWG
2876:Topics
2817:mod_jk
2670:WebDAV
2488:JAX-WS
2483:JAX-RS
2283:
2239:
2186:
2175:,
1940:1996.
1727:page.
1677:public
1536:throws
1458:config
1437:throws
1431:config
1413:public
1380:public
1371:import
1362:import
1353:import
1344:import
1335:import
1326:import
1204:init()
1166:init()
1124:init()
1109:, and
1103:init()
1003:Filter
994:JSR 53
895:HTTP/2
754:Jeeves
606:object
604:is an
471:server
340:github
137:
130:
123:
116:
108:
3231:DHTML
3187:Gears
3171:WebGL
3166:WebCL
3148:WebXR
3050:Video
3025:Audio
2514:Other
2395:Faces
2380:Pages
1945:(PDF)
1930:(PDF)
1746:(AJP)
1662:flush
1629:write
1524:final
1512:final
1446:super
1425:final
1383:class
720:Faces
676:as a
661:, or
651:state
549:to a
517:is a
462:is a
142:JSTOR
128:books
3315:Rich
3298:REST
3229:vs.
3225:and
3223:Ajax
3103:File
3035:CORS
2998:XBAP
2981:NaCl
2894:vs.
2885:vs.
2697:WSRP
2687:FCGI
2682:SCGI
2650:HTTP
2573:JDBC
2568:JAXP
2542:JAXR
2521:JAXB
2505:JAXM
2455:Mail
2390:JSTL
2281:ISBN
2237:ISBN
2210:2016
2159:2016
1680:void
1503:void
1452:init
1419:init
1416:void
1293:The
1238:The
1043:2.1a
773:Java
640:HTTP
589:SOAP
583:the
576:the
567:JSON
559:HTML
531:HTTP
501:and
491:Java
464:Java
450:file
401:for
394:Type
384:Size
365:Java
342:.com
202:and
114:news
3123:SVG
3118:MSE
3098:EME
3085:W3C
3045:SSE
3040:DOM
2993:BHO
2896:ROA
2892:WOA
2692:AJP
2677:CGI
2578:JMX
2526:JAF
2460:JCA
2450:JTA
2445:JMS
2440:JPA
1698:log
1695:().
1665:();
1659:().
1626:().
1569:int
1557:log
1554:().
1470:log
1467:().
1178:URL
868:4.0
853:to
842:5.0
823:6.0
728:.
680:.
653:in
617:API
569:.
563:XML
521:in
499:PHP
481:on
448:JSP
428:.ee
308:6.0
97:by
3349::
2660:v3
2655:v2
2279:.
2245:.
2201:.
2145:.
2120:.
2116:.
2091:.
2087:.
2083:.
2061:.
2049:^
2001:.
1969:.
1936:.
1932:.
1897:.
1871:^
1821:.
1810:^
1782:.
1759:^
1734:.
1707:);
1686:()
1644:);
1596:++
1566:);
1479:);
1461:);
1313:,
1309:,
1305:,
1180:.
1105:,
1054:,
1020:,
919:)
790:.
739:.
715:.
683:A
598:A
513:A
505:.
454:A
59:.
2617:e
2610:t
2603:v
2350:e
2343:t
2336:v
2289:.
2212:.
2161:.
2131:.
2102:.
2069:.
2043:.
2018:.
1986:.
1954:.
1914:.
1792:.
1713:}
1710:}
1701:(
1689:{
1671:}
1653:.
1638:+
1632:(
1620:.
1614:}
1611:;
1605:=
1599:;
1590:{
1587:)
1581:(
1575:;
1560:(
1548:{
1542:,
1533:)
1521:,
1509:(
1494:}
1491:;
1488:0
1485:=
1473:(
1455:(
1449:.
1443:{
1434:)
1422:(
1407:;
1395:{
1377:;
1368:;
1359:;
1350:;
1341:;
1332:;
1085:—
1068:—
594:.
434:/
319:)
291:)
243:)
237:(
225:)
219:(
214:)
210:(
206:.
164:)
158:(
153:)
149:(
139:·
132:·
125:·
118:·
91:.
66:)
62:(
20:)
Text is available under the Creative Commons Attribution-ShareAlike License. Additional terms may apply.