服务器 http:/localhost:8080 需要用户名和密码。服务器说:XDB

Server http:/localhost:8080 requires a user name and a password. The server says: XDB

我正在尝试访问 localhost:8080,但它显示我需要输入用户名和密码。我记得大约 4 个月前我在尝试开发 Web 应用程序并在我的电脑上托管我的域名时弄乱了服务器,不幸的是我没有成功。在使用 servlet 时,我尝试了一些安全功能,但直到有一段时间我没有看到这些弹出 windows 请求身份验证。

我尝试输入我正在玩的密码,但没有一个有效。无论如何我可以摆脱这个问题吗?

您可以卸载WAMP/XAMPP并使用默认端口号重新安装。它将正常工作。

这是http认证。您可以在 users.xml WEB-INF 目录中找到用户名和密码(如果有)。否则,您必须从 web.xml 文件

中编辑或删除 security-constraint 元素

更新 对不起, 我还没有注意到XDB。检查 Oracle 和 tomcat 是否使用相同的端口。更新其中任何一个

我假设您不接受卸载并重新安装 Tomcat。 屏幕截图显示了来自浏览器和默认应用程序的基本身份验证挑战屏幕。所以很可能您已经使用 tomcat 设置了用户 conf/tomcat-users.xml 尝试阅读本指南 https://tomcat.apache.org/tomcat-7.0-doc/realm-howto.html#UserDatabaseRealm

您还可以使用其他几个领域。希望您在开始阅读文档时会记得

这是因为您的计算机上有一个数据库运行。 就我而言,它是一个 Oracle 数据库。默认情况下,每次启动计算机时,数据库服务都会自动启动。

转到开始 >> 在程序列表中找到 Oracle 或任何 data-base >> 并手动停止数据库。好像有端口冲突。

一些其他应用程序(如 oracle)正在使用相同的端口号。所以你应该在 apachetomcat/conf/server.xml

中更改 tomcat 端口号

优先--->

<Connector port="8080" protocol="HTTP/1.1"
               connectionTimeout="20000"
               redirectPort="8443" />

已更新---->

<Connector port="8088" protocol="HTTP/1.1"
               connectionTimeout="20000"
               redirectPort="8443" />

打开文件:

WEB-INF -> web.xml

就我而言,它看起来如下所示。 :

<security-constraint>
    <web-resource-collection>
        <web-resource-name>Integration Web Services</web-resource-name>
        <description>Integration Web Services accessible by authorized users</description>
        <url-pattern>/services/*</url-pattern>
        <http-method>GET</http-method>
        <http-method>POST</http-method>
    </web-resource-collection>
    <auth-constraint>
        <description>Roles that have access to Integration Web Services</description>
        <role-name>maximouser</role-name>
    </auth-constraint>
    <user-data-constraint>
        <description>Data Transmission Guarantee</description>
        <transport-guarantee>NONE</transport-guarantee>
    </user-data-constraint>
</security-constraint>

删除或评论这些行。

我遇到了同样的问题,我只是将 jboss7.1 端口从 8080 更改为 9090。它非常适合我。 要更改 jboss7.1 端口,请转到 jboss-as-7.1.0.Final\standalone\configuration 打开 standalone.xml 查找行 <socket-binding name="http" port="8080"/>8080 更改为 9090。保存文件并 重新启动服务器。它应该工作

甚至我也遇到了同样的问题。 这可能是两个或更多 application/process 使用同一个端口。 在某些情况下,您可以使用不同的端口号来避免此问题,但在其他情况下,您必须在命令提示符的帮助下手动终止进程。

杀死的命令是, 在您的命令提示符中,首先输入此命令

C:\Users\A611003>任务列表

在此之后您可以看到进程列表 运行 进程 ID。 例如,

由此 select 您要停止的进程,例如考虑进程 ID 304 是您的服务器,您对此有疑问。 然后输入这个命令。

C:\Users\A611003>Taskkill /PID 304 /F

这将终止该进程,现在您可以清理、发布您的服务器并启动它。

注意:如果在上面的命令中添加 /F 失败,它不会执行任何操作。是力杀。你也可以试试/?查看可用选项列表。

我刚刚终止了 Oracle 进程和 re-initiate JBoss。一切都很好:)

只需将默认端口 8080 更改为其他端口,如下例所示

SQL> begin
 2   dbms_xdb.sethttpport('9090');
 3   end;
 4  /

将用户名设为 admin

并将密码留空

您可以在您的{tomcat安装目录}/conf/tomcat-users.xml

中找到用户名和密码的详细信息

在应用程序属性文件中添加用户名和密码。

添加 spring 安全性时,每个 http 查询都必须通过登录名和密码进行标识。

只需更改使用的端口号,例如8000 然后调用 http://localhost:8080

我认为,任何其他服务,如数据库等 运行在 8080 端口上。

请在您的应用程序上配置新端口,并在该端口上配置 运行。

对我有用的解决方案是终止端口 8080 上正在 运行ning 的任何进程(在我的例子中是 oracle),然后重新启动你的服务器并再次 运行 你的项目。

打开 Windows PowerShell 并键入以下命令:

netstat -ano | findstr <Port Number>

taskkill /F /PID <Process Id>

将 'Process ID' 替换为终端中显示的任何数字

在此之后,重新启动您的服务器并再次 运行 您的项目,它应该可以工作。