JavaWeb 重要知识点总结

Cookie (客户端,不是内置对象):Cookie是由服务端生成的,再发送给客户端保存。

Cookie不是内对象,要使用必须new

客户端在第一次请求服务端时,(JSESSION-sessionId)服务端会产生一个session对象(用于保存该客户的信息)
并且每个session对象都会有一个唯一的sessionId(用于区分其他session);
服务端会产生一个cookie,并且将cookie的name=JSESSIONID,value=sessionId的值
然后服务端会在响应客户端的同时,将该cookie发送给客户端,至此,客户端就有了一个cookie(JESSIONID)因此,客户端的cookie就可以和服务端的session一一对应(JESSIONID - sessionId)
客户端第二/n次请求服务端时,服务端会先用客户端cookie中的JSESSSIONID去服务端的session中匹配sessionId,如果匹配成功(cookie的JSESSIONID和session的sessionId),说明不是第一次登陆


如果jsp出现错误:Xxx type is not resolved
尝试解决步骤:
a. 可能是JDK,tomcat版本问题, 右键项目->build path.将其中报错的Library或Lib删除后重新导入
b. 清空各种缓存:右键项目->clean tomat...  clean (Project->clean或者进tomcat目录删除里面的)
c.重启计算机
d.如果之前没有包,建立一个包,把包名加上

使用层面:JavaBean分为2大类
a. 封装业务逻辑的JavaBean(LoginDao.java封装了登录逻辑)        逻辑
b.封装数据的JavaBean(实体类,Student.java  Person.java)            数据
    对应数据库中的一张表(JavaBean类名一定要与数据库表名一致!)

MVC
M:Model模型   处理业务逻辑(封装业务逻辑的JavaBean)处理数据(封装数据的JavaBean)
V:View 视图 :用于展示页面,与用户交互 用 HTML CSS JS JSP 等前端实现
C:Controller控制器  分发器 接受用户请求,将请求跳转到模型进行处理;处理完毕后,再将处理结果返回个请求处  可以用jsp实现。但是一般建议使用servlet实现控制器

最典型的MVC就是JSP + servlet + javabean的模式


Servlet:
Java类必须符合一定的规范才是Servlet
    a.必须继承 javax.servlet.http.HttpServlet
    b.重写该类中的其中的doGet()或doPost()方法

Servlet 要想使用,必须配置 ①Servlet2.5 : web.xml  ②Servlet3.0 : @WebServlet

web.xml中的 /  :  代表项目根路径
http://localhost:8080/Servlet2.5Project/
jsp中的 / : 服务器根路径
http://localhost:8080/

构建路径(src包括在内 可以建一个source folder ,那么它也是)、WebContent:根目录

1的作用

1)load-on-startup元素标记容器是否在启动的时候就加载这个servlet(实例化并调用其init()方法)。
2)它的值必须是一个整数,表示servlet应该被载入的顺序
3)当值为0或者大于0时,表示容器在应用启动时就加载并初始化这个servlet;
4)当值小于0或者没有指定时,则表示容器在该servlet被选择时才会去加载。
5)正数的值越小,该servlet的优先级越高,应用启动时就越先加载。
6)当值相同时,容器就会自己选择顺序来加载。

 

解耦合:

什么是耦合?

答:耦合指的就是两个类之间的联系的紧密程度。

如 

public class A{
        public int i;
    }
 
    public class B{
        public void put(A a){
            System.out.println(a.i);
        }
    }

上面这个例子中A类和B类之间存在一种强耦合关系,B类的put方法参数必须是A类类型,不可以是非A类类型。A类与B类之间的关系就是强耦合。

解耦的本质就是将类之间的直接关系转换成间接关系,不管是类向上转型,接口回调还是适配器模式都是在类之间加了一层,将原来的直接关系变成间接关系,使得两类对中间层是强耦合,两类之间变成弱耦合关系。

---------------------------------------------

文件上传:
表单中的method必须为post

EL表达式
${requestScope.student.name}

   域对象.域对象中的属性.属性中的属性.等等级联属性                


配置过滤器,类似servlet
通过doFileter()处理拦截,并且通过chain.doFilter(request,response)放行

你可能感兴趣的:(JavaWeb 重要知识点总结)