jsp初学总结

JSP初学总结

什么是jsp?

  • jsp页面实际上也是一个htnl页面,只不过它包含了产生动态网页内容的java 代码,这些代码可以是java Bean.SQL语句等等.

  • 在jsp页面中,动态内容与静态内容相互分离,实现界面与业务逻辑的分离,从而使jsp代码的高度复用.

jsp的优势

  • 开发简单,跨平台,高效率和高性能,低成本

jsp执行顺序

  • 首先客户端向web服务器提出请求,然后JSP引擎负责将页面转化为Servlet,这个Servlet经过虚拟机编译生成类文件,然后再把类文件加载到内存中执行,最后由服务器将处理结果返回给客户端.

jsp的基本语法

  • 1. 注释

    • <!-- 注释内容会在浏览器中显示 -->

  • <%-- 注释内容不会再浏览器中显示 --%>

  • 2. 声明

    • <%! 变量定义/方法定义/类 %> jsp声明的结尾和java一样用 " ; " 结束,可以一次定义多个变量,利用","分隔.

    • <%=变量或者表达式%> jsp表达式作用是将动态信息显示在页面中

  • 3. 指令

    • <%@ page attribute1="value" [...attribute2="value n"] %> page指令用来设置jsp页面属性和相关功能

    • <%@ include file="url" %> include指令是在jsp页面生成Servlet时引入需要包含的页文件

    • <% taglib uri="tagliburl" prefix="tagPre" %> 用户可以自定义新的标签在页面中执行,现在比较流行JSTL,EL标签

  • 4. 动作

    • <jsp:include page="relative URL" flush="true" >

      • jsp:include也可以换成include,但是两者还是有区别的,首先,jsp:include动作是在页面被访问时导入的,而include指令是由jsp引擎在编译时导入的;其次,在include指令中,被包含的文件会同主页面一块被编译为一个Servlet类文件,而jsp:include动作包含的文件跟主页面会是相对独立的两个文件,在编译时会被编译成两个Servlet类文件,因此jsp:include在效率上稍微慢些.

    • <jsp:forword page="relative URL" >

      • 作用是转发请求到另外一个页面中,在请求过程中会连同请求的参数数据一起被转发到目标页面中,目标页面通过request.getParameter()方法获得参数值进行进一步处理. 而且相对于请求者而言,所看到的响应仍然是原先请求的页面给出的,请求者并不会获得转发后的页面地址,因此相对来说,请求具有隐蔽性.

    • <jsp:param name="参数名称" value="参数值" >

      • 用来传递参数信息,他经常与其他动作一起使用,用于传递主页面的参数到目标页面

  • 5. 内置对象

    • request对象, 用户每访问一个页面,就会产生一个HTTP请求,这些请求中一般都包含了请求所需的参数值或者信息,如果将request 对象看作是客户请求的一个实例,那么这个实例就包含了客户请求的所有数据,因此可以通过request来获取客户端和服务端的信息.

    • response对象, 当用户访问一个页面时,就会产生一个HTTP请求,服务器做出响应时调用的是response响应包.response响应包实现的是接口 javax.servlet.http.HttpServletResponse.

    • session对象. session对象可以用来判断是否为同一用户,还可以用来记录客户的连接信息等

    • application对象, 实现的接口为javax.servlet.ServletContext,它的生命周期是从application对象创建到应用服务器关闭,也就是说当服务器关闭时application对象才会消失,可以将它视为Web应用的全局变量,当服务器运行时有效,如果关闭服务器,其中保存的信息也就消失了. 用法和session相似

    • out对象, 继承的是javax.servlet.jsp.JspWriter类的一个输出流对象.它包含了很多IO流中的方法和特性,最常用的方法就是输出内容到HTML中

    • config对象, 实现了javax.servlet.ServletConfig接口,他一般用于在页面初始化时传递参数.

posted @ 2019-02-09 09:21  菜の可怜  阅读(216)  评论(0编辑  收藏  举报