Это по соображениям безопасности по умолчанию невозможно. Сначала необходимо настроить Tomcat, чтобы включить ServletContext
текущего webapp в другие веб-приложения. Это нужно сделать, установив атрибут crossContext
в context.xml
на true
.
После этого вы можете использовать ServletContext#getContext()
, чтобы получить другой контекст сервлета по его пути контекста и, наконец, использовать RequestDispatcher
, как обычно ServletContext#getRequestDispatcher()
.
Например
ServletContext otherContext = getServletContext().getContext("/otherContext");
otherContext.getRequestDispatcher("/WEB-INF/some.jsp").forward(request, response);
На первый взгляд я вижу два вопроса:
for (copy1;
? GCC выдает предупреждение statement with no effect
. if
условие внутри цикла никогда не может быть TRUE
, потому что оно противоположно условию цикла. Если я правильно понимаю ваше описание, вы хотите
info == value
value
не было найдено в списке Вот как я бы написал эту функцию. Поскольку ваш вопрос не включал определение для struct list
, я сделал обоснованное предположение:
struct list {
char info;
struct list* prev;
struct list* next;
};
struct list* delete_char(struct list* the_list, char value) {
struct list* entry = the_list;
unsigned int count = 0;
while (entry) {
/* entry may be removed during this iteration */
struct list* next = entry->next;
if (entry->info == value) {
struct list* prev = entry->prev;
/* value found */
count++;
/* unchain entry from list */
if (prev) {
/* not removing first entry on the list */
prev->next = next;
} else {
/* removing first entry on the list: new head of list */
the_list = next;
}
if (next) {
/* not removing last entry on the list */
next->prev = prev;
}
/* delete entry */
free(entry);
/* NOTE: entry is now invalid! */
}
entry = next;
}
if (!count) {
printf("The element is not in the list!\n");
}
return the_list;
}