Aniket
Aniket

Reputation: 2214

servlet web.xml mapping

I am working on simple web application using Servlet & Jsp. But i have one problem where i am working on web.xml. Can i use same url pattern for many servlet class for example

code from jsp page

<form action="Answer" method="get">
                    <input id="foo" type="text" name="question"/> 
                    <input type="reset" value="Clear" />  
                    <br/>
                    <input type="submit" value="Submit"/>
                    <input type="submit" value="Back"/>
                </form>

Code from web.xml

 <servlet>
        <servlet-name>Answer</servlet-name>
        <servlet-class>RemoveAbbr</servlet-class>
    </servlet>
    <servlet-mapping>
        <servlet-name>Answer</servlet-name>
        <url-pattern>/Answer</url-pattern>
    </servlet-mapping>
 <servlet>
        <servlet-name>Answer</servlet-name>
        <servlet-class>Preprocess</servlet-class>
    </servlet>
    <servlet-mapping>
        <servlet-name>Answer</servlet-name>
        <url-pattern>/Answer</url-pattern>
    </servlet-mapping>

So, My question is what are true conditions from below options 1) if i click on Submit button can it map to RemoveAbbr 2) if i click on Back button can it map to Preprocess 3) creates conflict because same url pattern(Form Action from jsp) can not used for different servlet class name.

Upvotes: 0

Views: 2040

Answers (2)

li_developer
li_developer

Reputation: 179

You need to use a unique <servlet-name>. For example:

<servlet>
    <servlet-name>FirstServlet</servlet-name>
    <servlet-class>com.myapp.FirstServlet</servlet-class>
</servlet>
<servlet>
    <servlet-name>SecondServlet</servlet-name>
    <servlet-class>com.myapp.SecondServlet</servlet-class>
</servlet>
<servlet-mapping>
    <servlet-name>FirstServlet</servlet-name>
    <url-pattern>/first.do</url-pattern>
</servlet-mapping>
   <servlet-mapping>
    <servlet-name>SecondServlet</servlet-name>
    <url-pattern>/second.do</url-pattern>
</servlet-mapping>

Check this tutorial, there I found an example to edit web.xml file and add the servlets. Also the source code is available, so it was useful for me.

Upvotes: 0

orique
orique

Reputation: 1303

Every <servlet> needs to have a unique <servlet-name>, so you will need to rename one. Also, the <url-pattern>'s should be different so the servlet container will know how to handle the requests.

Upvotes: 2

Related Questions