一.请求转发和重定向
重定向过程: 所以,当这个Servlet处理完后,看到response.sendRedirect()方法,立即向客户端返回个响应,响应行告诉客户端你必须再重新发送一个请求,去访问student_list.jsp,紧接着客户端收到这个请求后,立刻发出一个新的请求,去请求student_list.jsp,在这两个请求互不干扰、相互独立,
请求转发:客户端首先发送一个请求到服务器,服务器匹配Servlet,并指定执行。当这个Servlet执行完后,它要调用getRequestDispacther()方法,把请求转发给指定的Servlet_list.jsp,整个流程都是在服务端完成的,而且是在同一个请求里面完成的,因此Servlet和jsp共享同一个request,在Servlet里面放的所有东西,在student_list.jsp中都能取出来。因此,student_list.jsp能把结果getAttribute()出来,getAttribute()出来后执行完把结果返回给客户端,整个过程是一个请求,一个响应。
二.get和post
1.get会把name=value放到url后面去,post不会,所以get方式是不安全的
2.get传输的数据要收到url长度限制(1024)字节,post可以传输大量数据
3.
三:servlet生命周期、线程安全等
Web容器加载servlet并将其实例化后,servlet声明周期开始。。运行init()方法将servlet实例化,请求到达后调用service()
方法,service()方法根据需要调用与请求对应的doget()或者dopost()方法,服务器关闭或者项目被卸载的时候会调用destroy()方法。。。
init()和destroy()方法只会执行一次,service()方法每次调用都会执行
那么什么时候调用doget()什么时候调用dopost()方法呢
当form标签里的属性为get的时候调用doget()方法,为post的时候调用dopost()方法
servlet不是线程安全的
四.JSP
1.servlet与JSP的区别
Servlet和JSP最主要的不同点在于,Servlet的应用逻辑是在Java文件中,并且完全从表示层中的HTML分离开来。而JSP的情况是Java和HTML可以组合成一个扩展名为.jsp的文件。
JSP侧重于识图,
2.JSP运行原理
JSP会在客户端第一次请求JSP文件时,会首先把JSP文件转换为一个servlet文件(.java文件),然后在编译成一个.class文件。
以后客户端再来请求这个jsp文件的时候就不在重新编译JSP文件了,而是直接使用这个.class文件来响应客户端
五:JSP的九大内置对象
六:request.getAttribute()和request.getParameter()
七:include