java 笔记---jsp

jsp的原理就是一个servlet  因为jsp会被转换成java文件,继承了定义一个a.jsp最终生成的servlet:public final class a_jsp extends org.apache.jasper.runtime.HttpJspBase

    implements org.apache.jasper.runtime.JspSourceDependent   生成的java文件去工程目录下的.metadata\.plugins\org.eclipse.wst.server.core\tmp0\work\Catalina\localhost\WebBase\org\apache\jsp 下找(WebBase)是工程名称既然jsp就是一个servlet为什么还需要一个jsp。我的答案是,jsp能更容易的和html代码整合,有助于展示逻辑,这也能在一定程度上让展示和java代码分开,可以使用javaBean,让编程相对容易。


jsp的使用主要涉及5个内置对象,和jsp便签。下面记录jsp中的内置独像。

out 在生成的java源码中可以看到 下面这样的声明,实例化。在servlet中是用new PringWriter(response.getOutPrintStream())来实现的

 javax.servlet.jsp.JspWriter out = null;  
out = pageContext.getOut();
使用的方式就是向页面输出一些东西,下面是一些java源码中生成的

  out.write("\r\n");
      out.write("    \r\n");
      out.write("    <\r\n");
      out.write("<!DOCTYPE html PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\" \"http://www.w3.org/TR/html4/loose.dtd\">\r\n");
      out.write("<html>\r\n");
      out.write("<head>\r\n");
      out.write("<meta http-equiv=\"Content-Type\" content=\"text/html; charset=UTF-8\">\r\n");
      out.write("<title>Insert title here</title>\r\n");
      out.write("</head>\r\n");
      out.write("<body>\r\n");
      out.write("<a href=\"");

PageContext 理解为当前页面的上下文环境,作用域也就局限于当前页面。具体用处在项目中体会

application web应用的上下文,其实就是servletContext  application.setAttribute() 设置的变量能在整个web应用生存期内存在。

session 作用域是在整个回话中(浏览器关闭前)

request

response

这两个就不详细叙述了

还有一个Filter,可以对请求进行过滤,应用场景:权限用户是否登陆之类。

总结的不是很好,只是在让自己能多想想学得东西,真正的理解其中的原理好像还很远。至少要去看看tomacate是怎么处理一个请求的,是怎样把jsp代码转换成servlet

这些都是我继续的目标了。




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值