jsp个人学习比较

page指令:
	通常位于jsp的顶端,一个页面可以有多个page指令,相当于import<>
	<%@page 属性="" 属性=""%>
language:jsp页面使用的脚本语言;默认值java
import:通过该属性来引用脚本语言中使用到的类文件。
contentType:用来指定jsp页面所采用的编码方式;默认值:text/html,ISO-8859-1(纯英文编码);
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>

JSP注释:<%--  注释--%>
html注释<!-- 注释-->
JSP脚本语法格式:<%java代码%>
JSP声明:<%!java代码%>
JSP获取:<%= 变量/方法%>(不用;结束)
JSP生命周期:jspService()方法被调用来处理客户端的请求,jsp引擎会创建多个线程;
--------------------------------------------------------------------------------------------	   
JSP内置对象:
	request请求对象 (作用域Request)--------》服务器跳转有效,客户端刷新跳转无效,
		String str = request.getHeader(String name):获得名字为name的头信息内容
		String str = request.getMethod();获得post或者get。
		类型:javax.servlet.ServletRequest;
		可以跨越forward前后两个页面,只要刷新页面,存储的值会重新计算,对于重定向,里面的值不能跨越两个页面
		如果变量存储到pageContext开始,到jsp页面结束,都可以使用此变量;
		若吧变量存储到request里,作用域是Request,此变量的范围是当前的请求周期;
		请求周期:从http发出请求,到服务器处理结束,返回响应的整个过程,forward跳转多个jsp页面,在这个页面里都可以使用此变量;
				
	response相应对象 (作用域Page)类型:javax.servlet.ServletRspanose;
		reponse.setHeader("refresh","2")2秒刷新一次
		reponse.setHeader("refresh","2;URL=page3.jsp");2秒后跳转
	
	pageContext页面上下文对象 (作用域Page):类型:javax.servlet.PageContext;
		pageContext.forward(String);
		
	session会话对象 (作用域Session)---------》跳转有效,新开浏览器无效
		如果把变量存到session里,范围是当前会话:从打开浏览器到关闭浏览器叫一个会话过程,
			这个过程包含多个请求,多个响应;只要浏览器不关闭,就可以拿到存储在session里的变量
		session id = session.getId();获取id	
		session.getLasetAccessedTime();获得最后访问时间
		session.isNew():这个session是否是新的
		session.invalidate();把session的属性设置全部清空
		类型:javax.servlet.HttpSession

	application应用程序对象 (作用域Application)--------》所有用户有效,重启服务器无效
		如果把变量存储到application里,作用域是Applicaion,她的有效范围是这个应用,除非关闭服务器;
		getRealPath(path)获得真实路径
		getContextPath();获得虚拟路径
		getIntiParameter(String);在web.xml中添加初始化参数
			<context-param>
				<param-name>      </param-name>
				<param-value>     </param-value>
			<context-param>
		类型:javax.servlet.ServletContext;

	out输出对象  (作用域Page)
		out.println();打印所有,将所打印的内容转化为字符串打印到页面
		out.write();打印字符串/Object,如果是整数,打印整数的asc码
		后台打印:System.out.print();
		类型:javax.servlet.jsp.JspWrite;

	config配置对象  (作用域Page)
		getInitParameterNames()获取初始化参数名字
		getInitParameter(String name);获取初始化参数的值
		类型:javax.servlet.ServletConfig;

	page页面对象  (作用域Page) --------->pageContext:一个页面有效,跳转无效	
		类型:javax.lang.Object;	
		
	exception例外对象  (作用域Page)
		类型:javax.lang.Throwable;

都可以(设置、获取、删除属性)
JSP指令:	
	path:包名
	basePath:网络路径
	<jsp:forward page="Test2.jsp"></jsp:forward>转向跳转
	
---------------------------------------------------------------------------------------------	
	
MVC:
	jsp显示:V:视图层,view,展示给用户看
	servlet:C:controller:控制层,调用dao的方法:request,response,session,application;
	dao:方法:M:model,模型层,sqlServlerce,add(),delele(),query(),update();
-----------------------------------------------------------------------------------------------

include:将一个外部文件嵌入当前jsp文件中,同事解析这个页面的jsp语句
	include:动态和include:静态的,
	<%@include file="Test6.jsp"%>静态的,两个页面合成一个页面,共享变量,在底层生成一个。java文件,一个。class文件
	<jsp:include page="Test6.jsp"></jsp:include>动态的,不能共享变量,但可以通过传参方式获取值;生成两个.java文件,两个.class文件
	JSP的底层是servlet,遇到html代码,用out.write()打印,遇到java代码原样输出,方法原样输出;
	<a href ="myservlet.do?method=login">登录</a>问号传方法	
servlet自启动:启动的标志:执行init();启动服务时启动servlet;	
	<servlet>
    	<servlet-name>UserServlet</servlet-name>
    	<display-name>This is the display name of my J2EE component</display-name>
    	<description>This is the description of my J2EE component</description>
    	<servlet-class>com.james.controller.UserServlet</servlet-class>
   	 <init-param>
    	 	<param-name>username</param-name>
     		<param-value>liulun</param-value>   
    	 </init-param>

    	 <init-param>
     		<param-name>url</param-name>
     		<param-value>jdbc:mysql://localhost:3306/databasename</param-value>
    	 </init-param>

    	 <init-param>
     		<param-name>driver</param-name>
     		<param-value>com.mysql.jdbc.Driver</param-value>
    	 </init-param>

	 <init-param>
  		<param-name>pw</param-name>
  		<param-value>123</param-value>
  	 </init-param>
  		<load-on-startup>1</load-on-startup>//1自启动拿到密码
 	 </servlet>

taglib指令:

  

转载于:https://www.cnblogs.com/clever765/articles/7264679.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值