Java 如何防止在使用angular时直接访问ViewServlet?

Java 如何防止在使用angular时直接访问ViewServlet?,java,html,angularjs,servlets,Java,Html,Angularjs,Servlets,我对access java servlet有点小问题。我从数据库返回到servlet记录列表,普通用户应该无法查看它 我有这样的东西: <servlet> <servlet-name>CandidateAdd</servlet-name> <servlet-class>com.recrutationapp.servlets.CandidateServlet</servlet-class> </ser

我对access java servlet有点小问题。我从数据库返回到servlet记录列表,普通用户应该无法查看它

我有这样的东西:

<servlet>
        <servlet-name>CandidateAdd</servlet-name>
        <servlet-class>com.recrutationapp.servlets.CandidateServlet</servlet-class>
</servlet>

<servlet-mapping>
        <servlet-name>CandidateAdd</servlet-name>
        <url-pattern>/CandidateAddServlet</url-pattern>
</servlet-mapping>
这很好,但是当我键入一个URL,比如:localhost:8080/ProjectName/candidateadservlet时,它会显示servlet发送的所有数据

当我尝试这样的事情时:

<servlet-mapping>
            <servlet-name>CandidateAdd</servlet-name>
            <url-pattern>/#/CandidateAddServlet</url-pattern>
</servlet-mapping>
它不起作用,我找不到解决这个问题的办法


我不使用.jsp文件。我正在用html文件编写每个网页。

您不能使用服务器端URL,因为此符号称为片段标识符,用于客户端处理。请参阅本讨论以获得更详细的解释:如果最终用户可以调用与网页本身相同的servlet来获取最终呈现给同一最终用户的数据,那么为什么会出现问题?这是一个问题,因为当用户进入例如://candidateAdd站点时,他将看到正常的html站点,但当他输入url/candidateAddServlet时,他将看到JSON和数据库中的数据。我想禁用此功能,但我不知道如何。。。
<servlet-mapping>
            <servlet-name>CandidateAdd</servlet-name>
            <url-pattern>/#/CandidateAddServlet</url-pattern>
</servlet-mapping>
method: "POST",
                url: "http://localhost:8080/RecrutationApp_ver_1.1-1.1/#/CandidateAddServlet",