会员可以在此提问,百战程序员老师有问必答
对大家有帮助的问答会被标记为“推荐”
看完课程过来浏览一下别人提的问题,会帮你学得更全面
截止目前,同学们一共提了 132360个问题

image.png

怎么把schema文件引进来的?xmlns:xs="http://www.w3.org/2001/XMLSchema",是吧这个复制到根目录后边?

视频里引入的怎么是xmlns:xsi="http://www.w3.org/2001/XMLSchema";xs后边加个i什么意思,还有引入到xml文件,xml文件还写DTD吗,视频里xml文件里还有DTD呢?加了DTD是不是已经验证成功了,引入schema是不是得把DTD的内容删除再验证啊。。。。

JAVA 全系列/第二阶段:JAVA 基础深化和提高/XML 技术(旧) 3586楼
JAVA 全系列/第二阶段:JAVA 基础深化和提高/XML 技术(旧) 3587楼
JAVA 全系列/第二阶段:JAVA 基础深化和提高/容器(旧) 3588楼
JAVA 全系列/第二阶段:JAVA 基础深化和提高/IO 流技术(旧) 3591楼
JAVA 全系列/第二阶段:JAVA 基础深化和提高/容器(旧) 3593楼

老师你好,我这个为什么前面输出的是编码,后面就是乱码了?图片我是在网上随便找了一张

package yx.sudayIo;

import java.io.*;

public class FirstDemo {
    public static void main(String[] args) throws IOException {
        FileInputStream fis = null;
            try {
                fis = new FileInputStream("/Users/yangxi/Desktop/zx.png");
                StringBuffer sb = new StringBuffer();
                int temp;
                while ((temp = fis.read()) != -1){
                    System.out.println(temp);
                    sb.append((char)temp);
                }
                System.out.println(sb.toString());
            } catch (FileNotFoundException e) {
                e.printStackTrace();
            } catch (IOException e) {
                e.printStackTrace();
            }finally {
                try {
                    if(fis != null){
                        fis.close();
                    }
                } catch (IOException e) {
                    e.printStackTrace();
                }
            }
    }
}

image.png

JAVA 全系列/第二阶段:JAVA 基础深化和提高/IO 流技术(旧) 3594楼
JAVA 全系列/第二阶段:JAVA 基础深化和提高/数据结构 3595楼

QQ图片20230415202207.png

JAVA 全系列/第二阶段:JAVA 基础深化和提高/数据结构 3596楼
JAVA 全系列/第二阶段:JAVA 基础深化和提高/IO 流技术(旧) 3597楼
JAVA 全系列/第二阶段:JAVA 基础深化和提高/网络编程(旧) 3598楼

package com.bjsxt.server;

import java.io.IOException;
import java.io.InputStream;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.HashMap;
import java.util.List;
import java.util.Map;



public class Request {/*请求*/
	private InputStream is;//输入流
	private String requestInfo;//请求字符串,请求方式,请求的路径,参数,协议,协议版本,请求的正文。。。
	private String method;//请求的方式
	private String url;//请求的url
	//输入框的name为key,值为value
	/*
	 *  key: username    value  :bjsxt
	 *  key:pwd          value:123
	 *  key:hobby        value   :read,ball
	 * */
	private Map<String,List<String>> parametermapValues;//参数
	private static final String CRLF="\r\n";//换行
	private static final String BLANK=" ";//空格
	//构造方法,初始化属性
	public Request() {
		parametermapValues=new HashMap<String,List<String>>();
		method="";
		url="";
		requestInfo="";
	}
	public Request(InputStream is){
		this();//调用本类无参的构造方法
		this.is=is;
		try {
			byte [] buf=new byte[20480];
			int len=this.is.read(buf);
			requestInfo=new String(buf,0,len);
		} catch (IOException e) {
			return;
		}
		//调用本类中的分解请求信息的方法
		this.parseRequestInfo();
	}
	//分解请求信息的方法
	/**
	 * 请求方式
	 * 请求路径
	 * 请求的参数
	 * 
	 */
	private void parseRequestInfo(){
		String paraString="";//用于存储请求参数
		//获取请求参数的第一行
		String firstLine=requestInfo.substring(0, requestInfo.indexOf(CRLF)).trim();//从0开始,到第一个换行的位置
		//分解出请求方式
		int index=firstLine.indexOf("/");
		this.method=firstLine.substring(0, index).trim();
		//分解url  ,get可能包含参数,也可能不包含参数post
		String urlString= firstLine.substring(index,firstLine.indexOf("HTTP/")).trim();
		//判断请求方式是GET还 是POST
		if("get".equalsIgnoreCase(this.method)){  //包含请求参数
			if (urlString.contains("?")) {
				String [] urlArray=urlString.split("\\?");
				this.url=urlArray[0];
				paraString=urlArray[1];
			}else{
				this.url=urlString;
			}
		}else{//post不包含请求参数
			this.url=urlString;
			paraString=requestInfo.substring(requestInfo.lastIndexOf(CRLF)).trim();
		}
		if (paraString.equals("")) {
			return;
		}
		//请求参数
		//System.out.println(paraString);
		
	}
	//用于测试
	/*public void show(){
		System.out.println(this.url);
		System.out.println(this.method);
	}*/
	private void parseParam(String prarString) {
		String [] token=prarString.split("&");
		for(int i=0;i<token.length;i++) {
			String keyValues=token[1];
			String []keyValue=keyValues.split("=");//username 
			if (keyValue.length==1) {
				keyValue=Arrays.copyOf(keyValue, 2);
				keyValue[1]=null;
			}
			//将表单元素的name与name对应的值存储到Map集合
			String key=keyValue[0].trim();
			String value=keyValue[1]==null?null:keyValue[1].trim();
			//放到集合中存储
			if (!parametermapValues.containsKey(key)) {
				parametermapValues.put(key, new ArrayList<String>());
				
			}
			List<String> values=parametermapValues.get(key);
			values.add(value);
		}
	}
	public static void main(String[] args) {
		Request req=new Request();
		req.parseParam("username=123&pwd=123&hobby=ball&hobby=paint");
		System.out.println(req.parametermapValues);
	}
}

image.png

得不到视频中的效果 这是为什么。?

JAVA 全系列/第二阶段:JAVA 基础深化和提高/手写服务器项目(旧) 3599楼
JAVA 全系列/第二阶段:JAVA 基础深化和提高/多线程技术(旧) 3600楼

课程分类

百战程序员微信公众号

百战程序员微信小程序

©2014-2025百战汇智(北京)科技有限公司 All Rights Reserved 北京亦庄经济开发区科创十四街 赛蒂国际工业园
网站维护:百战汇智(北京)科技有限公司
京公网安备 11011402011233号    京ICP备18060230号-3    营业执照    经营许可证:京B2-20212637