java .javascript servlet filter jsp关系

本文探讨了面向对象与基于对象的区别,详细解释了Servlet、JSP及Filter的关系,并讨论了它们与Java之间的联系。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

学习了一段时间,感觉非常有意思,一切变的渐渐的清晰了起来....

小小的总结了一下,认识可能不是很全面, 随着深入的学习会继续改动和总结.

其实把他们放在同一张表比较有些牵强,不过我想多多少少有联系, 就放在一起了.事实上, servletfilterjava可以说是近亲关系,javajavascript,jsp可以看成是近邻关系.

说说基于对象和面向对象?

面向对象有三大特点:继承,封装,多态,缺一不可. 而基于对象, 是使用对象, 但是无法利用现有的对象模型产生新的对象类型, 继而产生新的对象,也就是”基于对象”缺少了面向对象三大特点中的继承特点. 没有了继承就没有了面向对象中的多态.

一般基于对象, 都是封装好的一些对象,我们去调用对象的方法,和设置属性,但是无法派生新的.

一句话: 他们都封装了, 但是基于对象没有继承和多态.

Servletjsp?

在Servlet的基础上出现了jsp, jsp方便了servlet对html的输出语句. 在经典的MVC模式中, 之所以Servlet作为控制器, 就是因为servlet有一些和jsp内置对象相同的对象, 可以做和jsp相同的事情. 当然我们知道jsp中嵌入的java代码本身也是servlet.

ServletFilter?

曾写过一篇关于Filter的文章,http://blog.youkuaiyun.com/lovesummerforever/article/details/9924413现在看来, servlet和Filter联系的是如此的紧密, Filter既可以说是servlet的一项技术, 说他属于servlet是因为servlet就是运行在服务器端的小应用程序. 说他不属于servlet, 因为他继承的是javax.servlet.Filter; 而servlet继承的是javax.servlet.http.HttpServlet; 他们是如此的不同,又是如此的紧密.

Java 、servlet、 Filter?

Servlet和filter可以说成是特殊功能的java , j2ee的规范之一.

例外情况 org.apache.jasper.JasperException: 在 [36] 行处理 [/jsp/admin/login.jsp] 时发生异常 33: </script> 34: </head> 35: <body> 36: <jsp:useBean id="infoList" scope="request" type="java.util.List"/> 37: <c:if test="${!empty infoList}"> 38: <c:forEach items="${infoList}" var="i"> 39: <script type="text/javascript"> Stacktrace: org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:602) org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:489) org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:382) org.apache.jasper.servlet.JspServlet.service(JspServlet.java:330) javax.servlet.http.HttpServlet.service(HttpServlet.java:733) org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52) com.shine.bookshop.filter.FilterLogin.doFilter(FilterLogin.java:45) com.shine.bookshop.filter.FilterEnconding.doFilter(FilterEnconding.java:41) 根本原因。 javax.servlet.ServletException: java.lang.InstantiationException: bean infoList not found within scope org.apache.jasper.runtime.PageContextImpl.doHandlePageException(PageContextImpl.java:906) org.apache.jasper.runtime.PageContextImpl.handlePageException(PageContextImpl.java:835) org.apache.jsp.jsp.admin.login_jsp._jspService(login_jsp.java:206) org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:71) javax.servlet.http.HttpServlet.service(HttpServlet.java:733) org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:466) org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:382) org.apache.jasper.servlet.JspServlet.service(JspServlet.java:330) javax.servlet.http.HttpServlet.service(HttpServlet.java:733) org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52) com.shine.bookshop.filter.FilterLogin.doFilter(FilterLogin.java:45) com.shine.bookshop.filter.FilterEnconding.doFilter(FilterEnconding.java:41) 根本原因。 java.lang.InstantiationException: bean infoList not found within scope org.apache.jsp.jsp.admin.login_jsp._jspService(login_jsp.java:164) org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:71) javax.servlet.http.HttpServlet.service(HttpServlet.java:733) org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:466) org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:382) org.apache.jasper.servlet.JspServlet.service(JspServlet.java:330) javax.servlet.http.HttpServlet.service(HttpServlet.java:733) org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52) com.shine.bookshop.filter.FilterLogin.doFilter(FilterLogin.java:45) com.shine.bookshop.filter.FilterEnconding.doFilter(FilterEnconding.java:41)
06-20
类型 异常报告 消息 在 [31] 行处理 [/cart.jsp] 时发生异常 描述 服务器遇到一个意外的情况,阻止它完成请求。 例外情况 org.apache.jasper.JasperException: 在 [31] 行处理 [/cart.jsp] 时发生异常 28: <th>数量</th> 29: <th>小计</th> 30: </tr> 31: <% for(CartItem item : (List<CartItem>)session.getAttribute("cart")) { %> 32: <tr> 33: <td><%= item.getCake().getName() %></td> 34: <td>¥<%= item.getCake().getPrice() %></td> Stacktrace: org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:599) org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:488) org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:377) org.apache.jasper.servlet.JspServlet.service(JspServlet.java:325) jakarta.servlet.http.HttpServlet.service(HttpServlet.java:658) org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51) 根本原因。 java.lang.NullPointerException: Cannot invoke "java.util.List.iterator()" because the return value of "jakarta.servlet.http.HttpSession.getAttribute(String)" is null org.apache.jsp.cart_jsp._jspService(cart_jsp.java:155) org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:67) jakarta.servlet.http.HttpServlet.service(HttpServlet.java:658) org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:456) org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:377) org.apache.jasper.servlet.JspServlet.service(JspServlet.java:325) jakarta.servlet.http.HttpServlet.service(HttpServlet.java:658) org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51) ):注意 主要问题的全部 stack 信息可以在 server logs 里查看
05-27
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值