创建人 | 王琦 |
问题标题 | 功能无法实现 |
问题分类 | JS中 使用循环来绑定事件并设置处理事件的函数中,this的用法 |
一级话题 | |
问题补充 | |
附件 | [AppleScript] 纯文本查看 复制代码
|
问题答案 | 问题分析: 执行流程为:先循环绑定鼠标箭头事件,完成后i=4,这个过程是在极短时间内就完成了的,然后我们手动触发事件,然而此时i的值为4,trs[]数组中一共4个元素,取不到trs[4],因此这个元素是未定义的undefined。 因此这种情况是循环进行事件绑定,触发事件和这个循环无关,因此这个事件的处理函数中不能使用这个循环里的i。若要在处理函数中使用这个和这个事件绑定的元素,可以使用this,this就代表这个触发事件的元素。 |
问题解决方法: 修改代码第4行: trs.style.color="pink"; 修改为 this.style.color="pink"; |
创建人 | 王琦 |
问题标题 | 编译问题 |
问题分类 | HTTP中response对象的获取输出流设置响应体相关异常以及一些需要注意的地方 |
一级话题 | 无法访问此网站 网址为 http://localhost:8080/day15/downloadPictures?filename=1.jpg 的网页可能暂时无法连接,或者它已永久性地移动到了新网址 |
问题补充 | |
附件 | [AppleScript] 纯文本查看 复制代码 @WebServlet("/downloadPictures") |
问题答案 | 问题分析: Response对象在同一个响应中获取输出流只能要么使用字节输出流,要么使用字符输出流,不可二者同时存在,二者之间有冲突。即便只获取没有使用也不行 |
问题解决方法: 删除掉PrintWriter writer = response.getWriter();这一行 | |
其他需要注意的地方: | 1、 响应中分别有处理GET和POST的两个方法,不要忘记两个都要设置好,若是两种处理方法相同,也可以在另一种处理方法中如doGet方法中调用this.doPost(request,response); 2、 使用注解配置servlet时,@WebServlet(value=”/XXX”)中不要忘记斜杠/ 3、 Content-disposition响应头的值attachment;filename=xxx,和Content-Type响应头的值type/subtype;parameter,中间是分号分隔的,不要写成逗号 4、 servletContext.getRealPath("/") 返回的为真实路径的根目录,也就是Tomcat服务器配置的本module的根目录,因此使用servletContext.getRealPath()来获取真是目录时传入的参数要注意是否位于本mod根目录下 |
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) | 黑马程序员IT技术论坛 X3.2 |