javaWeb差缺补漏(一)【针对于自身知识点掌握情况】

前端三大件部分

1、a标签的target属性==iframe标签的name属性

2、textarea标签:表示多行文本输入。起始标签和结束标签中的内容是默认值。

rows:属性设置可以显示多少行。

cols:属性设置每行显示多少列。

3、form表单的action提交的时候,是根据form表单的name属性提交的。否则后端服务器无法接收的属性值的键值对。name属性必须。

4、如果是单选或者是多选框,如果想要提交的服务器,需要存在value属性才可以。

5、组合选择器 #abc,class01,class02{}

6、函数中的参数属性

function sum(val1,val2){
    var res = 0;
    for(var i=0;i<arguments.length;i++){
        res+=arguments[i];
    }
    return res;
}

alert(sum(1,2,3,4,"abc",5,6,7,8,9)); 返回 10abc59789

7、判断参数类型

function sum(val1,val2){
    var res = 0;
    for(var i=0;i<arguments.length;i++){
        if(typeof(arguments[i]) == "number"){
            res += arguments[i];
        }
    }
    return res;
}

8、js获取当前节点的父节点的下一个兄弟元素

$(this).parentNode.nextSibing;
//如果只想是获取元素节点
$(this).parnentNode.nextElementSibling;

上一个兄弟节点:previousSibling

10、body标签的对象,页面一加载的时候是没有的,需要加载完成后才有

window.onload = function(){
    var divObj = document.createElement("div");
    divObj.innerHTML = "pshdhx";
    document.body.appendChild(divObj);
}

11、prop和attr的区别

attr:针对于是否有值或者是属性,attr返回属性值和undefined

prot:针对于是否有值或者是属性,prop返回true和false

12、jquery的函数

toggleClass("className") 有就删除,没有就添加样式;

offset({top: xxxx,left: xxxx}) 获取和设置元素的坐标;

div.show(1000毫秒,callback)

fadeIn 慢慢显示 fadeOut 慢慢消失

fadeTo:在指定的时长内,慢慢的将透明度修改到0.0就是不可见,1就是完全可见。

$(document).ready(function(){

}) ==============

$(function(){

//浏览器内核解析完成标签,加载完成dom对象后,就执行这个函数。

如果有多个,会依次执行

})

window.onload =  function(){

        //执行这个要慢一点,除了要完成解析的标签,dom对象,还要解析完成标签的内容。

}

$("#div1").one("click",function(){

        //这个只会执行一次

})

$("#div").live("click",function(){})

$("#div").on("click",function(){})

都是对动态添加的元素,绑定属性值。

13、事件的冒泡:

点击子元素,也会触发父元素的点击事件。解决:return false;

Tomcat

1、启动方式:到bin目录下,执行命令: catalina run

2、到conf/Catalina/localhost/abc.xml

<Context path="/abc" docBase="E:\book" />

Context表示一个工程的上下文

path表示工程的访问路径 : /abc

docBase 表示工程目录在哪里

Servlet

servlet是规范,在api中就是接口。J2EE的三大组件【servlet、Filter、Listener】之一,用来接收请求和响应请求。

ServletConfig作用:获取web.xml中的配置属性【获取servlet别名、初始化参数init-param、和获取servletContext对象】。

servlet初始化:

public void init(ServletConfig servletConfig){
    <init-param>
        <param-name></param-name>
        <param-value></param-value>
    </init-param>
}

servlet是程序第一次访问时,创建的。servletConfig是每个servlet程序创建时的就创建的对象。

getServletConfig()方法可以直接使用 extends HttpServlet

ServletConfig

ServeltConfig是一个接口,标识servlet上下文

一个web工程,只要一个serveltContext对象的实例。

serveltContext是一个域对象(就是可以存储map值的对象)。

getServletConfig().getServletContext();可以直接使用。

我们可以直接set、get、removeAttribute方法

作用:

1、获取web.xml中上下文的参数context-param

2、获取当前的工程路径 String path = getServeltContext().getRealPath("/")

3、获取工程部署后在服务器硬盘上的绝对路径。

4、可以像map一样存储键值对。

Http协议

协议?是指双方或多方相互约定好,大家都要遵守的规则,叫做协议。

所谓Http协议:客户端与服务器之间通信时,发送的数据,需要遵守的规则。

Http协议中的数据:报文。

 HttpServletRequest类

在doGet和doPost方法里边

通过该类的对象,获取该次请求的所有信息。

String username = req.getParameter("username");

String[] hobby = req.getParameter("hobby");

System.out.println("兴趣爱好:"+ Arrays.asList(hobby));

解决请求乱码

post请求,如果出现了中文,则会出现???这样的乱码

解决方式:在方法的第一行

req.setCharacterEncoding("UTF-8");

在获取请求参数之前,设置才有效,否则无效。

请求转发

服务器接收到请求之后,从一个资源跳转到另外一个资源。就是从一个servlet跳转到另外一个servlet,用户收到的最终的结果。

req.getRequestDispatcher("/servlet2")

请求转发的特点:

1、浏览器的地址栏没有发生任何变化。

2、他们是一次请求,所以共享request域中的所有信息。

3、可以转发到web-info的目录下,浏览器是无法直接进入到/web-info/form.html中的。

4、不可以访问外部地址,因为url的地址栏中,是带着工程路径名称的

req.getRequestDispatcher("a/b/c.html").forward(req,resp);

当点击正常跳转的url地址是:/07_servelt/a/b/c.html

在Servlet中跳转的时候url地址栏是:07_servlet/forwardC,相对路径参照的地址变了。

可以在head中设置一个base值

<base href="http://localhost:8080/07_sevlet">

web中的绝对路径:http://ip:port/工程名/资源路径

/ : 该符号被浏览器解析,代表http://ip:port

/ : 该符号被服务器解析,代表http://ip:port/工程路径

        1、url-pattern servlet1

        2、servetContext.getRealPath("/")

        3、req.getRequestDispatcher("/")

输出流

1、getOutputStream()字节流,通常用于下载,传递二进制数据

2、getWriter() 字符流,回传字符串

二者只能使用一个

往客户端回传数据:

resp.getWriter().write("response content");

响应字符中文乱码的解决

resp.getCharacterEncoding(); //ISO-8859-1

resp.setCharacterEncoding("UTF-8");

但是,设置了服务器的响应字符集还不行,需要设置浏览器的字符集为Unicode

通过响应头设置浏览器也是utf-8的字符集

resp.setHeader("content-type","text/html;charset=utf-8");

或者是

resp.setContextType("text/html;charset=utf-8");

它会同时设置服务器和客户端都是用该字符集,还设置了响应头。

注意点:此方法一定要在获取流对象之前调用才有效

请求重定向

指的是,给服务器发送的请求,服务器告诉客户端,给你个新地址,你去重定向,因为之前的响应地址可能被废弃。

特点:

1、浏览器地址栏发生了变化

2、接口请求了两次

3、不同享request域中的信息,tomcat是收到了两次请求。

4、不能进入到web-info目录下,该目录是受保护的,第二次请求相当于是从浏览器过去的,所以无法访问。

5、可以访问工程以外的资源

resp.sendRedirect("http://localhost:8080")

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值