获取到主机名后,我们需要对主机名进行处理,以获取一级域名。

public class DomainUtil {
    public static String getDomain(String url) {
        try {
            URL urlObj = new URL(url);
            String host = urlObj.getHost();
            return host;
        } catch (Exception e) {
            e.printStackTrace();
        return null;
    public static String getHostName(String host) {
        String[] parts = host.split("\\.");
        if (parts.length > 1) {
            return parts[parts.length - 2] + "." + parts[parts.length - 1];
        return host;

2.3 分割主机名

通过获取到的主机名,我们可以使用split方法将主机名按照"."进行分割,得到每个子域名。

public class DomainUtil {
    public static String getDomain(String url) {
        try {
            URL urlObj = new URL(url);
            String host = urlObj.getHost();
            return host;
        } catch (Exception e) {
            e.printStackTrace();
        return null;
    public static String getHostName(String host) {
        String[] parts = host.split("\\.");
        if (parts.length > 1) {
            return parts[parts.length - 2] + "." + parts[parts.length - 1];
        return host;
    public static String[] getSubDomains(String host) {
        String[] parts = host.split("\\.");
        if (parts.length > 2) {
            String[] subDomains = new String[parts.length - 2];
            for (int i = 0; i < subDomains.length; i++) {
                subDomains[i] = parts[i];
            return subDomains;
        return new String[0];

2.4 获取一级域名

最后,我们可以通过获取到的子域名数组,将第一个子域名与主域名拼接起来,得到一级域名。

public class DomainUtil {
    public static String getDomain(String url) {
        try {
            URL urlObj = new URL(url);
            String host = urlObj.getHost();
            return host;
        } catch (Exception e) {
            e.printStackTrace();
        return null;
    public static String getHostName(String host) {
        String[] parts = host.split("\\.");
        if (parts.length > 1) {
            return parts[parts.length - 2] + "." + parts[parts.length - 1];
        return host;
    public static String[] getSubDomains(String host) {
        String[] parts = host.split("\\.");
        if (parts.length > 2) {
            String[] subDomains = new String[parts.length - 2];
            for (int i = 0; i < subDomains.length; i++) {
                subDomains[i] = parts[i];
            return subDomains;
        return new String[0];
    public static String getFirstLevelDomain(String host) {
        String[] subDomains = getSubDomains(host);
        if (subDomains.length > 0) {
            return subDomains[0] + "." + getHostName(host);
        return host;

3. 总结

通过以上步骤,我们可以成功获取到一个URL的一级域名。这个方法适用于大部分常见的URL,包括http和https等。

使用示例:

public class Main {
    public static void main(String[] args) {
        String url = "
        String domain = DomainUtil.getFirstLevelDomain(url);
        System.out.println("一级域名:" + domain);

输出结果:

一级域名:example.com

总结一下,通过以上步骤,我们

java的springBoot安全架构图 springboot安全配置

1.简介在本文中,我们将了解Spring Boot对spring Security的支持。简而言之,我们将专注于默认Security配置以及如何在需要时禁用或自定义它。2.默认Security设置为了增加Spring Boot应用程序的安全性,我们需要添加安全启动器依赖项:<dependency> <groupId>org.springframework.boot&