解析器有问题,它赢了';不要解析某些东西,但会为其他人解析。JAVA
我在这里做的解析有问题。当它通过开关时,文档根目录和服务器根目录不会被存储。剩下的部分被妥善保存,这就是我感到困惑的原因。 这是针对Web服务器的解析器有问题,它赢了';不要解析某些东西,但会为其他人解析。JAVA,java,webserver,Java,Webserver,我在这里做的解析有问题。当它通过开关时,文档根目录和服务器根目录不会被存储。剩下的部分被妥善保存,这就是我感到困惑的原因。 这是针对Web服务器的 void parseLine(String line) throws IOException { String[] key; line = nextLine(); while(line != null) { if(line.isEmpty()){ line = nextLine();
void parseLine(String line) throws IOException {
String[] key;
line = nextLine();
while(line != null) {
if(line.isEmpty()){
line = nextLine();
}
key = line.split("\\s+");
switch (key[0]){
case "DocumentRoot":
documentRoot = key[1];
break;
case "ServerRoot":
serverRoot = key[1];
break;
case "Listen" :
listen = Integer.parseInt(key[1]);
break;
case "LogFile":
logFile = key[1];
break;
case "AccessFileName":
accessFileName = key[1];
break;
case "DirectoryIndex":
dirIndex = key[1];
case "Alias":
alias.put(key[1], key[2]);
break;
case "ScriptAlias":
scriptAlias.put(key[1], key[2]);
break;
default: break;
}
line = nextLine();
}
}
这就是我想要得到的信息
ServerRoot "/Users/Taeyeona/Desktop/web-server-cameron-michael/.github/src"
DocumentRoot "/Users/Taeyeona/Desktop/web-server-cameron-michael/.github/src/public_html"
Listen 8096
LogFile "/Users/Taeyeona/Desktop/web-server-cameron-michael/.github/src/logs/log.txt"
ScriptAlias /cgi-bin/ "/Users/Taeyeona/Desktop/web-server-cameron michael/.github/src/public_html/cgi-bin"
Alias /ab/ "/Users/Taeyeona/Desktop/web-server-cameron-michael/.github/src/public_html/ab1/ab2"
Alias /~traciely/ "/Users/Taeyeona/Desktop/web-server-cameron-michael/.github/src/public_html"
因此,我检查这个案例,看看它是DocumentRoot、ServerRoot、Listen、LogFile、AccessFileName、DirectoryIndex、Alias还是ScriptAlias,然后我想获取后面的信息并将其存储到名为key的数组中
我注意到,当我打印出每一个键时,我注意到它都是从listen开始的,在它没有抓取DocumentRoot或ServerRoot之后。String line;当((line=scanner.nextLine())!=null){…}尝试此操作时,它工作并且正在解析,不确定为什么您说它没有赋值