1.xml的两种规范:DTD规范,XML Schema 以及两者的区别
直接写网址,或者超链接默认为get方式
2.HTML:
单选:
性别<input type="radio" name="sex" value="男"/>男
<input type="radio" name="sex" value="女"/>女
多选框:
<select name"" size="" multiple="multiple" >
<option value="选项1">选项1</option>
</select>
文本框:
<textarea rows="10" cols="10" name="des"></textarea>
多选按钮:
爱好:<input type="checkbox" name="love" value="睡觉">睡觉<br>
<input type="checkbox" name="love" value="梦游">梦游<br>
<input type="checkbox" name="love" value="交友">交友<br>
radioa按钮,checkbox按钮,多选下拉选,如果值没有被选中,则name属下的值,在服务器端获取不到
<input type=hidden name="" value>
在路径中传递参数(通过超链接传递参数):
在路径中传递参数的格式:
路径?参数的名称1=参数值&参数名=参数值
3. Map的遍历:
Set set=Map.keySet;();
Iterator<> it=set.iterator();
while(it.hasnext())
{
String key=it.next();
String[] value=Map.get(key);
while(value!=null&&value.length>=0)
{
}
}
URL:统一资源定位符
URI:统一资源标识符
4 请求重定向与请求转发的比较
尽管HttpServletResponse.sendRedirect方法和RequestDispatcher.forward方法
都可以让浏览器获得另外一个URL所指向的资源,但两者的内部运行机制都有很大的区别。
下面是HttpServletResponse.sendRedirect方法实现的请求重定向与RequestDispatcher.forward方法
实现的请求转发的总结比较:
(1)RequestDispatcher.forward方法只能将请求转发给同一个Web应用中组件,HttpServletResponse.sendRedirect
方法不仅可以重定向当当前应用程序的其他资源,还可以重定向到同一个站点上的其他应用程序的资源,
甚至是使用绝对路径URL重定向到其他站点的资源.如果传递给HttpServletResponse.sendRedirect方法的相对URl以"/"
开头,它是相对于整个WEB站点的根目录;如果创建RequestDispatcher对象指定的相对URL以"/"开头,他是相对于当前WEB应用程序的根目录;
(2)调用HttpServletResponse.sendRedirect方法重定向的访问结束后,浏览器的地址栏显示的URL会发生改变,由初始的URL地址变成重定向的目标URL;
而调用requestDispatcher.forward方法的请求转发过程结束后,浏览器地址栏保持初始的URL地址不变
(3)HttpServletResponse.sendRedirect方法整个过程浏览器共发送了两次请求信息,接受了两次响应.而览器共发送了一次请求信息,接受了一次响应
(4)RequestDispatcher.forward方法调用者与被调用者之间共享相同的Request对象和Response对象,他们属于同一个访问请求和响应过程;而HttpServletResponse.sendRedirect
方法调用者与被调用折使用各自的Request对象和Response对象,他们属于两个独立的访问请求和响应过程.如果一次请求的相应过程被设计成由WEB
应用程序内部的多个资源来协同完成,这就需要在同一个Web应用程序的内部资源之间进行跳转,并且在跳转之前往往要进行一些前期的预处理(可以通过HttpServletRequest.setAttribute(String,Object)方法)
将预处理结果传递给下一个资源,这种情况下就必须使用RequestDispatcher.forward方法,不同web应用程序之间的重定向,特别是要重定向到另外一个web站点的资源情况
都应该使用HttpServletResonse.sendRedirect()方法
(5)无论是RequestDispatcher.forward方法,还是HttpServletResponse.sendRedirect方法,在调用他们之前,都不能有内容已经被实际输出到客户端.如果缓冲区中已经有了一些内容,这些内容将被从缓冲区中清除.
5。Cookie的中文问题:
5.1.4 Unicode编码:保存中文
中文与英文字符不同,中文属于Unicode字符,在内存中占4个字符,而英文属于ASCII字符,内存中只占2个字节。Cookie中使用Unicode字符时需要对Unicode字符进行编码,否则会乱码。编码可以使用java.net.URLEncoder类的encode(String str, String encoding)方法,解码使用java.net.URLDecoder类的decode(String str, String encoding)方法,例如:
代码5.3 encoding.jsp
程序使用UTF-8编码了Cookie内容,然后再使用UTF-8解码Cookie并显示出来。程序运行效果如图5.3所示。
图5.3 Cookie的UTF-8编码
提示:Cookie中保存中文只能编码。一般使用UTF-8编码即可。不推荐使用GBK等中文编码,因为浏览器不一定支持,而且JavaScript也不支持GBK编码。