-
浏览器jsp,html之间的关系
- 1.JSP与Java Servlet一样,是在服务器端执行的,通常返回该客户端的就是一个HTML文本,因此客户端只要有浏览器就能浏览
- 2.在大多数Browser/Server结构的Web应用中,浏览器直接通过HTML或者JSP的形式与用户交互,响应用户的请求
- 3.JSP在服务器上执行,并将执行结果输出到客户端浏览器,我们可以说基本上与浏览器无关
-
jsp和servlet的区别和联系: 1.jsp经编译后就变成了Servlet. (JSP的本质就是Servlet,JVM只能识别java的类,不能识别JSP的代码,Web容器将JSP的代码编译成JVM能够识别的java类) 2.jsp更擅长表现于页面显示,servlet更擅长于逻辑控制. 3.Servlet中没有内置对象,Jsp中的内置对象都是必须通过HttpServletRequest对象,HttpServletResponse对象以及HttpServlet对象得到. Jsp是Servlet的一种简化,使用Jsp只需要完成程序员需要输出到客户端的内容,Jsp中的Java脚本如何镶嵌到一个类中,由Jsp容器完成。 而Servlet则是个完整的Java类,这个类的Service方法用于生成对客户端的响应。 联系: JSP是Servlet技术的扩展,本质上就是Servlet的简易方式。JSP编译后是“类servlet”。 Servlet和JSP最主要的不同点在于: Servlet的应用逻辑是在Java文件中,并且完全从表示层中的HTML里分离开来。 而JSP的情况是Java和HTML可以组合成一个扩展名为.jsp的文件。 JSP侧重于视图,Servlet主要用于控制逻辑 Servlet更多的是类似于一个Controller,用来做控制。
过滤器:
filter:实现接口 Filter ,然后重写方法,还要在类外写上@WebFilter("*")
概念:filter,j2ee里的一个组件,可以对请求(request),响应对象进行过滤
如何创建过滤器:实现filter接口,重写方法
作用:编码集的过滤,自动登录
监听器:三类五种:
三类:
1、监听域对象自身的创建和销毁的事件监听器;
2、监听域对象中属性的增加和删除的事件监听器;
3、监听绑定到HttpSession域中某个对象状态的事件监听器。
forward,与redirect 的区别?有哪些方式实现
forward是把另一个页面加载到本页面,不改变浏览器的路径,redirect是跳转到另一个页面,会改变浏览器的路径
重定向: response.sendRedirect(̶重定向的路径”)
转发: request.getRequestDispatcher(̶转发路径”).forward(request, response);
转发和重定向的区别:
1.转发是一次请求,重定向是两次请求
2.转发地址不变,重定向为最后一次访问的地址
3.转发用的是req,重定向用的是resp
4.转发不可以跨域, 重定向可以跨域
jsp内置对象和作用?
有九个内置对象:request、response、out、session、application、pageContext、config、page、exception
作用如下:
(1) HttpServletRequest类的Request对象
作用:代表请求对象,主要用于接受客户端通过HTTP协议连接传输到服务器端的数据。
(2) HttpServletResponse类的Respone对象
作用:代表响应对象,主要用于向客户端发送数据
(3) JspWriter类的out对象
作用:主要用于向客户端输出数据;
Out的基类是JspWriter
(4) HttpSession类的session对象
作用:主要用于来分别保存每个用户信息,与请求关联的会话;
会话状态维持是Web应用开发者必须面对的问题。
(5) ServletContex类的application对象
作用:主要用于保存用户信息,代码片段的运行环境;
它是一个共享的内置对象,即一个容器中的多个用户共享一个application对象,故其保存的信息被所有用户所共享.
(6) PageContext类的PageContext对象
作用:管理网页属性,为JSP页面包装页面的上下文,管理对属于JSP中特殊可见部分中已命名对象的访问,它的创建和初始化都是由容器来完成的。
(7) ServletConfig类的Config对象
作用:代码片段配置对象,表示Servlet的配置。
(8) Object类的Page(相当于this)对象
作用:处理JSP网页,是Object类的一个实例,指的是JSP实现类的实例,即它也是JSP本身,只有在JSP页面范围之内才是合法的。
(9)Exception
作用:处理JSP文件执行时发生的错误和异常
DoGet和DoPost
1.get只有一个流,参数附加在url后,地址行显示要传送的信息,大小个数有严格限制且只能是字符串。
2.post的参数是通过另外的流传递的, 不通过url,所以可以很大,也可以传递二进制数据,如文件的上传。
3.
(1)、安全
GET调用在URL里显示正传送给SERVLET的数据,这在系统的安全方面可能带来问题,例如用户名和密码等 。POST就可以在一定程度上解决此类问题
(2)、服务器接收方式
服务器随机接受GET方法的数据,一旦断电等原因,服务器也不知道信息是否发送完毕 ;
而POST方法,服务器先接受数据信息的长度,然后再接受数据。
jsp乱码的解决:https://blog.csdn.net/weixin_29094979/article/details/114176627
还可以在servlet页面中写入 req.setCharacterEncoding("utf-8");
resp.setContentType("text/html;charset=utf-8");
然后....我是没啥感觉的了,也许还要重启一下