2016-04-19 7 views
0

Zum Beispiel habe ich viele Stadtbuslinien in der Datenbank. Und ich habe eine Seite namens cityBus.jsp geschrieben, um anzuzeigen, welche Stadt welche Buslinie hat. Also muss ich URL-Mappings so viele wie Städte schreiben. Siehe unten:So behandeln Sie Java-URL-Zuordnungen, die zu viele sind, um per Hand zu schreiben

<servlet> 
    <servlet-name>cityBusServlet</servlet-name> 
    <servlet-class>com.jiaotong.LoginServlet</servlet-class> 
    </servlet> 

    <servlet-mapping> 
    <servlet-name>cityBusServlet</servlet-name> 
    <url-pattern>/Chicago</url-pattern> 
    </servlet-mapping>  
------------------------------------------------------------------------- 
    <servlet> 
    <servlet-name>cityBusServlet</servlet-name> 
    <servlet-class>com.jiaotong.CityBusServlet</servlet-class> 
    </servlet> 

    <servlet-mapping> 
    <servlet-name>cityBusServlet</servlet-name> 
    <url-pattern>/Paris</url-pattern> 
    </servlet-mapping> 

und so weiter ...

Wenn alle Städte schreiben Zuordnungen von Hand ist nicht jenseits meiner Kräfte, schreiben Sie eine Seite mit Informationen von jeder Stadt Buslinien und schreiben ihre URL-Zuordnung ist nicht möglich . Weil Buslinien von verschiedenen Städten zu viele sind.

Also ich möchte wissen, ob dies eine Methode ist, um das Schreiben dieser URL-Zuordnung von Hand zu vermeiden.

Antwort

1

Verwenden Sie eine Jax-RS-Implementierung oder Feder.

Sie müssen bestimmte URLs in einer Servlet-Mapping-Datei Java-Klassen zuordnen.

Sie in der Klasse selbst enthalten.

1

Angenommen, Sie möchten viele URL-Muster für 'Stadtnamen' einem Servlet zuordnen, dann können Sie dies mithilfe einer Platzhalterzuordnung mit '*' erreichen. Zum Beispiel:

<servlet-mapping id="..."> 
    <servlet-name>cityBusServlet</servlet-name> 
    <url-pattern>/citybus/*</url-pattern> 
</servlet-mapping> 

Welche/Citybus/Chicago übereinstimmen und/Citybus/Paris (und in der Tat '/ Citybus/justaboutanything'). Beachten Sie, dass ich keine Wildcard aus dem Stamm heraus empfehlen würde, damit Sie nur "Stadtbus" -Muster isolieren können. Auf diese Weise können Sie später beispielsweise "/ citytrain/*" hinzufügen, um ein anderes Servlet für Zugfahrpläne anzuzeigen.

Wenn Sie jedoch meinen, dass Sie ein anderes Servlet pro Stadt zuordnen möchten (wie es vielleicht aus Ihrem Beispiel zu lesen ist), würde ich sagen, dass Sie in diesem Fall vielleicht einen anderen Ansatz ausprobieren möchten , als würdest du einfach das Leben für dich selbst sehr schwer machen, während du dich vorwärts bewegst.

Verwandte Themen