Servlet JSP web.xml

后端 未结 3 1594
不思量自难忘°
不思量自难忘° 2021-01-01 23:27

I see a feature in NetBeans for selecting a JSP for a Servlet and the result XML in web.xml is like this:



        
相关标签:
3条回答
  • 2021-01-01 23:50

    What does it mean? and What is it for?

    It is used to map a canonical name for a servlet (not an actual Servlet class that you've written) to a JSP (which happens to be a servlet). On its own it isn't quite useful. You'll often need to map the servlet to a url-pattern as:

    <servlet>
        <servlet-name>TestServlet</servlet-name>
        <jsp-file>/index.jsp</jsp-file>
    </servlet>
    <!--mapping-->
    <servlet-mapping>
        <servlet-name>TestServlet</servlet-name>
        <url-pattern>/test/*</url-pattern>   
    </servlet-mapping>
    

    All requests now arriving at /test/* will now be serviced by the JSP.

    Additionally, the servlet specification also states:

    The jsp-file element contains the full path to a JSP file within the web application beginning with a “/”. If a jsp-file is specified and the load-onstartup element is present, then the JSP should be precompiled and loaded.

    So, it can be used for pre-compiling servlets, in case your build process hasn't precompiled them. Do keep in mind, that precompiling JSPs this way, isn't exactly a best practice. Ideally, your build script ought to take care of such matters.

    Is it like code behind architecture in ASP .NET?

    No, if you're looking for code-behind architecture, the closest resemblance to such, is in the Managed Beans support offered by JSF.

    0 讨论(0)
  • 2021-01-01 23:51

    JSPs are servlets. JSP is a templating technology that parses the .jsp file and generates a servlet .java file. Once that's done, the .java file is compiled into a .class file that runs in the servlet/JSP engine context.

    All the web.xml file is doing is associating a .jsp file with a servlet name. There's more: you have to map that .jsp to a URL so the servlet/JSP engine can know when to invoke it.

    I don't know ASP or .NET well enough to say whether this is the same as "code behind".

    0 讨论(0)
  • 2021-01-01 23:53

    JSPs are kind of servlet. JSP pages are compiled into servlet. This servlet run in the servlet container provided by any java web server.

    In web.xml, <servlet> tag used to name the name servlet class and jsp file. Then you can map those servlet and jsp file according to your own URLs.

    <servlet>
       <servlet-name>hello</servlet-name>
       <jsp-file>/jsp/hello.jsp</jsp-file>
    </servlet>
    <servlet-mapping>
      <servlet-name>hello</servlet-name>
      <url-pattern>/helloworld</url-pattern>
    </servlet-mapping>
    

    If your hello.jsp file located under JSP folder. When you try to open the URL with /helloworld. It will open the page hello.jsp.

    0 讨论(0)
提交回复
热议问题