Knowledge

Jakarta Servlet

Source 📝

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:)

Index

Servlet
improve it
talk page
Learn how and when to remove these messages

verification
improve this article
adding citations to reliable sources
"Jakarta Servlet"
news
newspapers
books
scholar
JSTOR
Learn how and when to remove this message
citation style
citation
footnoting
Learn how and when to remove this message
Learn how and when to remove this message
Original author(s)
Pavni Diwanji
Developer(s)
Eclipse Foundation
Stable release
6.0
Repository
github.com/jakartaee/servlet
Edit this at Wikidata
Java

Text is available under the Creative Commons Attribution-ShareAlike License. Additional terms may apply.