JSP学习(JavaBean)
Java Web学习
一、搭建java web开发环境:
(1)安装jdk
(2)安装Tomcat服务器(Apache的开源项目),安装Tomcat并设置环境变量
(3)安装EclipseEE(或者MyEclipse)
二、WEB-INF安全目录介绍(只有服务器可以访问)
(1)web.xml文件(项目部署文件):
当我们去启动一个WEB项目时,容器包括(JBoss、Tomcat等)首先会读取项目web.xml配置文件里的配置,当这一步骤没有出错并且完成之后,项目才能正常地被启动起来。
(2)classes文件,用于存放*.class文件,即编译成功的字节。
(3)lib文件夹,用于存放需要的jar包,如连接数据库的JDBC等驱动。
三、在Eclipse(javaEE版)中配置JDK和Tomcat服务器:
(1)Windows-Preferences-Server-Runtime Environments中加入下载的Tomcat 服务器。
(2)修改项目虚拟路径:项目右键-Properties-Web Project Setting-Context root设置。
(3)修改tomcat默认端口,在Servers目录中找到server.xml文件,在文件中找到 Connector标签,修改端口即可。
四、JSP基础语法
(1)JSP简介:Java Server Page,是servlet的简洁版,跟servlet一样在服务器端运 行。
(2)page指令语法:<%@ page 属性1=”属性值” 属性2=”属性1,属性2”%>
① Language:指定JSP使用的脚本语言,默认值为java。
② Import:引用脚本语言所用到的类库。
③ contentType:定义JSP的编码方式。
(3)Include指令:将一个外部文件嵌入到当前JSP文件中,同时解析该页面的JSP 语句。
(4)taglib指令:使用标签库定新的自定义标签。
(5)JSP声明:<%! 可声明变量及函数 %>,后面在<% %>脚本中可以调用。
(6)JSP三种注释:
① HTML注释:<!-- --> 客户端可见
② JAVA脚本注释:<% // 和 /* */ %> 不可见
③ JSP注释:<%-- --%> 不可见
(7)JSP表达式:<%=name %> (name为声明中的变量)
(8)JSP生命周期:客户端请求-判断是否为第一次-若是则将jsp转化为一个 Servlet,并执行jspInit()(整个周期只执行一次),若不是则执行jspService() 方法,采用的是多线程。
(9)JSP常用的两种跳转:
① response.sendRedirect("login1.jsp");
② request.getRequestDispatcher("login1.jsp").forward(request,response)
(10)JSP九大内置对象(不需要new的对象):out,request,response,session, application,page(this),pageContext,exception,config。
① out对象方法:print(),flush()(将缓冲区内容导出),clear()(在flush()方法后使用会异常),clearBuffer()(不会异常)。
② request对象方法:getParameter(String name)返回name指定参数的参数值(即 获取input标签输入的值)。getParameterValues(String name),得到多值数组。 (主要用于checkBox)setCharacterEncoding(“UTF-8”),可设置编码格式。getAttribute(String name),返回指 定属性的属性值。setAttribute(“password”,”12345”),用于设置属性。getServerName(), 返回请求的服务器主机名。
③ session对象方法:session在所有当前页面都关闭后才消失。getValueNames()返 回所有可用属性值,getCreateTime(),返回session创建时间,setAttribute(String name,Object value),invalidate(),销毁session.
④ application对象生命周期:服务器重启-服务器关闭。
⑤ page对象:指向当前JSP页面本身,相当于类中的this指针。
⑥ pageContext对象:提供了对JSP页面内所有对象及名字空间的访问。 forward(.jsp),重导到另一页面。Include(.jsp),当前位置包含另一文件。
⑦ config对象:是servlet初始化时JSP传递信息用的,包含servlet初始化所要用 到的参数。
⑧ exception对象:是一个异常对象,当页面运行过程发生了异常就会产生这个对 象。同时在页面page中加入errorPage=”异常处理文件”。
五、JavaBean学习
<jsp:useBean id="myUser" class="ch1.User" scope="page"/> <jsp:setProperty name="myUser" property="*"/> <jsp:getProperty name="myUser" property="username" value=” ”/>
(1)JavaBean是类似于封装的类,可以不通过传统的代码即request来获取HTML 表单中输入的如用户名等的值,上述id="myUser"类似于自己实例化的类的名称, class用于指定某个要实例化的类,scope用于指定javaBean的作用范围,其有四个 属性值:
① page:仅在当前页面有效。
② request:可以通过HttpRequest.getAttribute()方法获取JavaBean对象。
③ session:可以通过HttpSession.getAttribute()方法取得JavaBean对象。
④ application:可以通过application.getAttribute()方法取得JavaBean对象。
(2)setProperty和getProperty都有name属性和property属性(‘*’号指自动匹配name实例的成员名称跟表单name一致的值,也可以直接写某变量的名称并用value赋值)和value属性。
(3)session和cookie的区别:
① Session用户信息保存在服务器端,cookie保存在客户端。
② Session保存的是Object类型,cookie保存的是String类型。
③ Session随会话的结束而销毁其存储的数据,cookie可长期保存在客户端。
④ Session保存重要的信息,cookie保存不重要的客户信息。