SanketAB Ответов: 0

Навигация JSP с помощью сервлета в якорном теге


Я разрабатываю простой динамический веб-проект.
ОКР подробнее:
Eclipse-Kepler (Java 1.6) с
сервер apache tomcat 6.0.
Структура моего проекта заключается в следующем:
Под WebContent/jsps папка у меня есть:
дома.ОСП
listcenters.ОСП
центр.ОСП
Под /ГРЦ/ком/приложение myexample/контроллер у меня есть:
CenterController.java --Сервлет
Код в home.jsp выглядит следующим образом:
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>My App</title>
</head>
<body>
<h1>Welcome to My App!</h1>
 <a href="CenterController?action=listcenters">Centers List</a>
</body>
</html>

Мой Web.xml имеет следующее отображение:
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" id="WebApp_ID" version="2.5">
  <display-name>MyApp</display-name>
  <welcome-file-list>
    <welcome-file>home.jsp</welcome-file>
  </welcome-file-list>
  <servlet>
    <servlet-name>CenterController</servlet-name>
    <servlet-class>com.scms.controller.CenterController</servlet-class>
  </servlet>
  <servlet-mapping>
    <servlet-name>CenterController</servlet-name>
    <url-pattern>/CenterController</url-pattern>
  </servlet-mapping>


Теперь мой вопрос:
Когда я пытаюсь запустить свой проект, Домашняя страница отображается правильно с помощью: localhost:port/MyApp/JSP/home.jsp
Но когда я нажимаю на список гиперссылок-центров, приложение ищет сервлет в той же папке /jsps: http://localhost:port/MyApp/jsps/CenterController?action=listcenters и я получаю HTTP-статус-404 " запрошенный ресурс недоступен."

Вот список проб и ошибок, которые я сделал:

Что я уже пробовал:

Испытание№1:
Я попытался изменить URL-адрес в теге anchor в home. jsp: from -
<a href="CenterController?action=listcenters">Centers List</a>

к
<a href="../CenterController?action=listcenters">Centers List</a>

Это хорошо работает, и я перенаправлен на listcenter.jsp на listcenter. jsp снова у меня есть якорный тег, чтобы вернуться на домашнюю страницу с кодом следующим образом:
<a href="CenterController?action=gohome">Go Home</a>

Эта гипелинка тоже хорошо работает. Но после этого начинаются проблемы. Теперь снова, если я попытаюсь нажать на гиперссылку Center List, я получу HTTP Status-404 "запрошенный ресурс недоступен". http://localhost:9090/CenterController?action=listcenters. Здесь контекстный корень отсутствует.

Испытание№2:
Сохраните url-адрес для списка центров как предыдущий, т. е. :
<a href="CenterController?action=listcenters">Centers List</a>

и попытался изменить путь развертывания в проекте Сборка Веб-Развертывания структура: я добавил Source - /WebContent/JSP и Deploy Path= ' /' это сработало, и вся навигация вперед, назад и снова вперед работала хорошо.
Но это привело к тому, что все JSP в папке /jsps были развернуты в папке /WebContent. Я не хочу этого. Это грязно. И кроме того, я не думаю, что это полное доказательство решения. Пожалуйста помочь.

SanketAB

Есть какой-нибудь ответ на это?

0 Ответов