I had the same feeling that servlet spec. should be more specific when I just started working with J2EE:)
But, my experience tells me that a specification tells you "What" you need to have in a servlet container and not "How" to implement a servlet container. If I want to learn servlet programming, I usually pick up Jason Hunter's book. Lee On Wed, 24 Nov 2004 14:57:14 -0500, Erik Weber <[EMAIL PROTECTED]> wrote: > Good point. I guess the J2EE tutorial would be the place for stuff like > that (I was trying to only speak of "official" documentation). > > Erik > > > > > Craig McClanahan wrote: > > >It's important to remember that the Servlet Specification target > >audience isn't application developers -- it's people that are > >implementing servlet containers (such as the group that creates > >Tomcat). It is about defining requirements, not illustrating use > >cases. > > > >For application level questions, and especially for beginners, you'll > >find any of the plethora of books, magazine articles, tutorials, and > >mailing lists that are available to be somewhat more accessible. > >(Personally, I still agree with your PS about the spec being "required > >reading" -- just need to set your expectations correctly :-). > > > >As for your specific question about accessing a context init > >parameter, you do have it right. > > > >Craig > > > > > >On Wed, 24 Nov 2004 14:26:23 -0500, Erik Weber <[EMAIL PROTECTED]> wrote: > > > > > >>Well, I have to criticize my own advice. I just read over the Servlet > >>2.4 spec. It doesn't explain this well at all, in my opinion. It still > >>uses the same old, nearly meaningless, obscure language like "used by > >>the Servlet container to communicate with a Servlet", and stuff like > >>that, which doesn't help anyone who actually wants to write a program. > >>It does mention the getInitParameter methods of ServletContext and > >>ServletConfig, but nowhere that I could find does it simply say, use one > >>with this element in web.xml and the other with that element in web.xml, > >>and/or why you would choose one or the other. > >> > >>Why can't the spec just say what I wrote below instead of trying to be > >>so "conceptual"? Is what I wrote wrong? This is the stuff that .NET > >>people criticize and that frustrates new programmers (in my experience). > >> > >>Here is a partial outline of how it should be explained: > >> > >>Initializing a Servlet > >>------------------------- > >> > >>I. Initialization parameter that is global to your Web application (all > >>Servlets) > >> > >>A. web.xml > >> > >><web-app> > >> . . . > >> <context-param> > >> <param-name>globalDateFormatString</param-name> > >> <param-value>yyyy-MM-dd</param-value> > >> </context-param> > >> . . . > >></web-app> > >> > >>B. Java > >> > >>// store the date format String, but not a DateFormat, > >>// as an instance variable or class variable > >>// (DateFormat can't always be used concurrently) > >>protected String globalDateFormatString; > >>. . . > >>public void init() throws ServletException, UnavailableException { > >> globalDateFormatString = > >>getServletContext().getInitParameter("globalDateFormatString"); > >> // try to instantiate a SimpleDateFormat with the String; > >> // if the String is invalid, throw an Exception to make the Servlet > >>unavailable > >>} > >> > >>II. Initialization parameter that is specific to one Servlet > >> > >>A. web.xml > >> > >><servlet> > >> . . . > >> <init-param> > >> <param-name>specificDateFormatString</param-name> > >> <param-value>|EEE, d MMM yyyy HH:mm:ss Z|</param-value> > >> </init-param> > >> . . . > >></servlet> > >> > >>B. Java > >> > >>protected String specificDateFormatString; > >>. . . > >>public void init() throws ServletException, UnavailableException { > >> globalDateFormatString = > >>getServletConfig().getInitParameter("specificDateFormatString"); > >>} > >> > >>Please correct me if I have it wrong, or show me the light if I missed > >>something in the spec. I know I learned this somewhere, but can't > >>remember where (the tutorial maybe?). > >> > >>Shouldn't this be the way the spec reads, or does this type of example > >>belong somewhere else? > >> > >>Erik > >> > >>P.S. The spec is still required reading. ;-) > >> > >> > >> > >> > >>Bill Siggelkow wrote: > >> > >> > >> > >>>Thanks for the clarification, Erik. > >>> > >>>Erik Weber wrote: > >>> > >>> > >>> > >>>>I think you want ServletContext.getInitParameter here. That is used > >>>>with the "context-param" element (global to your web app). > >>>>ServletConfig.getInitParameter is used with the "init-param" element > >>>>(specific to one Servlet). > >>>> > >>>>In addition to the JavaDocs, you should read the Servlet > >>>>specification, which tells you how Servlets and Servlet containers > >>>>are supposed to work. Trust me, it is required reading: > >>>> > >>>>http://www.jcp.org/aboutJava/communityprocess/final/jsr154/ > >>>> > >>>>Erik > >>>> > >>>> > >>>> > >>>> > >>>>Bill Siggelkow wrote: > >>>> > >>>> > >>>> > >>>>>MyServlet extends HttpServlet { > >>>>>public void init (ServletConfig config) { > >>>>>String paramValue = config.getInitParameter("myContextParamName"); > >>>>>} > >>>>>} > >>>>> > >>>>>Personally, I have found the JavaDocs invaluable for this kind of > >>>>>stuff; you can find the Servlet 2.4 Javadocs online at > >>>>>http://jakarta.apache.org/tomcat/tomcat-5.0-doc/servletapi/index.html. > >>>>> > >>>>>-Bill Siggelkow > >>>>> > >>>>>Nishant wrote: > >>>>> > >>>>> > >>>>> > >>>>>>hi > >>>>>>can anyone tell me how can i get context-param parameter in my > >>>>>>servlet . > >>>>>>thanks in advance > >>>>>>Regards > >>>>>>Nishant Patil > >>>>>>Software Engineer > >>>>>>Cybage Softwares Pvt. Ltd. (A CMM Level 3 Company) > >>>>>>West Avenue, Kalyaninagar > >>>>>>Pune - 411006 > >>>>>>Ph. +91-20-4044700/4041700 Extn 355 > >>>>>>[EMAIL PROTECTED] > >>>>>>www.cybage.com > >>>>>>"There is difference between knowing the Path and walking on the Path" > >>>>>> > >>>>>> > >>>>> > >>>>> > >>>>> > >>>>>--------------------------------------------------------------------- > >>>>>To unsubscribe, e-mail: [EMAIL PROTECTED] > >>>>>For additional commands, e-mail: [EMAIL PROTECTED] > >>>>> > >>>>> > >>>>> > >>>>> > >>>--------------------------------------------------------------------- > >>>To unsubscribe, e-mail: [EMAIL PROTECTED] > >>>For additional commands, e-mail: [EMAIL PROTECTED] > >>> > >>> > >>> > >>> > >> > >> > > > >--------------------------------------------------------------------- > >To unsubscribe, e-mail: [EMAIL PROTECTED] > >For additional commands, e-mail: [EMAIL PROTECTED] > > > > > > > > > > --------------------------------------------------------------------- > To unsubscribe, e-mail: [EMAIL PROTECTED] > For additional commands, e-mail: [EMAIL PROTECTED] > > --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]