вызвать несколько ссылок из одного сервлета - PullRequest
0 голосов
/ 28 февраля 2019

Я занимаюсь разработкой и управлением библиотекой и пишу сервлет для администратора, который имеет право добавлять книги, просматривать список пользователей и изданные книги, все эти опции доступны в шапке.Я запутался в отображении сервлета У меня есть мастер jsp с именем admin_dashboard, и он будет называться AdminActionServlet, я включил header.jsp, который содержит href, я хочу вызвать шаблон URL, как показано в следующем фрагменте.

admin_dashboard

<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
    pageEncoding="ISO-8859-1"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="ISO-8859-1">
<title>Admin Dashboard</title>
<%@include file="../common/include.jsp"%>

</head>
<body>
    <form action="AdminActionServlet">
        <%@include file="../common/header.jsp"%>


    </form>

    <%@include file="../common/footer.jsp"%>
</body>

</html>

header.jsp

<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
    pageEncoding="ISO-8859-1"%>
<%@ page isELIgnored="false"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
<nav class="navbar navbar-expand-lg navbar-light bg-light">
    <a class="navbar-brand" href="#">Book Sheleve</a>
    <button class="navbar-toggler" type="button" data-toggle="collapse"
        data-target="#navbarText" aria-controls="navbarText"
        aria-expanded="false" aria-label="Toggle navigation">
        <span class="navbar-toggler-icon"></span>
    </button>
    <div class="collapse navbar-collapse" id="navbarText">
        <ul class="navbar-nav mr-auto">
            <li class="nav-item active"><a class="nav-link"
                href="./add">Add Book<span
                    class="sr-only">(current)</span></a></li>
            <li class="nav-item"><a class="nav-link" href="./userList">Registered
                    User</a></li>
            <li class="nav-item"><a class="nav-link" href="./issuedBookList">Books
                    Issued</a></li>
        </ul>
        <!--     <span class="navbar-text"> -->
        <!--       Navbar text with an inline element -->
        <!--     </span> -->
    </div>
</nav>

AdminActionServlet

package com.javarnd.lbms.servlet;

import java.io.IOException;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

    import com.javarnd.lbms.enums.ResourceEnum;

    public class AdminActionServlet extends HttpServlet {
        /**
         * 
         */
        private static final long serialVersionUID = 1L;

        protected void doPost(HttpServletRequest request, HttpServletResponse response)
                throws ServletException, IOException {
            doGet(request, response);
        }

        protected void doGet(HttpServletRequest request, HttpServletResponse response)
                throws ServletException, IOException {
            String requestUrl = request.getServletPath();
            switch (requestUrl) {
            case "/add":
                addBooks(request, response);
                break;
    //      case "/userList":
    //          showUserList(request, response);
    //          break;
    //          case "/issuedBookList":
    //          showIssuedBookList(request, response);
    //          break;
            }
        }

        private void addBooks(HttpServletRequest request, HttpServletResponse response) {
            try {
                request.getRequestDispatcher(ResourceEnum.RESOURCE_PATH.getName() + "admin/add_books.jsp").forward(request,
                        response);
            } catch (Exception e) {
                e.printStackTrace();

            }
        }

    }

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"
    xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
    xsi:schemaLocation="http://java.sun.com/xml/ns/javaee  http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
    version="2.5">


    <!-- <servlet> -->
    <!-- <servlet-name>ContactBookServlet</servlet-name> -->
    <!-- <servlet-class>com.javarnd.lbms.servlet.ContactBookServlet</servlet-class> -->
    <!-- <load-on-startup>1</load-on-startup> -->
    <!-- </servlet> -->
    <servlet>
        <servlet-name>LoginServlet</servlet-name>
        <!-- <display-name>LoginServlet</display-name> -->
        <servlet-class>com.javarnd.lbms.servlet.LoginServlet</servlet-class>
        <load-on-startup>1</load-on-startup>
    </servlet>

    <!-- <servlet-mapping> -->
    <!-- <servlet-name>ContactBookServlet</servlet-name> -->
    <!-- <url-pattern>/</url-pattern> -->
    <!-- </servlet-mapping> -->
    <servlet-mapping>
        <servlet-name>LoginServlet</servlet-name>
        <!-- <url-pattern>/LoginServlet</url-pattern> -->
        <url-pattern>/</url-pattern>
    </servlet-mapping>
    <servlet>
        <servlet-name>RegistrationServlet</servlet-name>
        <!-- <display-name>LoginServlet</display-name> -->
        <servlet-class>com.javarnd.lbms.servlet.RegistrationServlet</servlet-class>
    </servlet>
    <servlet-mapping>
        <servlet-name>RegistrationServlet</servlet-name>
        <url-pattern>/RegistrationServlet</url-pattern>
    </servlet-mapping>

    <servlet>
        <servlet-name>AdminActionServlet</servlet-name>
        <!-- <display-name>LoginServlet</display-name> -->
        <servlet-class>com.javarnd.lbms.servlet.AdminActionServlet</servlet-class>
    </servlet>
    <servlet-mapping>
        <servlet-name>AdminActionServlet</servlet-name>
        <url-pattern>/AdminActionServlet</url-pattern>
    </servlet-mapping>

    <welcome-file-list>
        <welcome-file>/WEB-INF/view/login.jsp</welcome-file>
    </welcome-file-list>
</web-app>

В настоящее время мой URL-адрес выглядит как

http://localhost:9312/LibraryManagementSystem/add

, что является пустым.Я хочу управлять всеми URL из одного сервлета, пожалуйста, помогите мне

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...