JSp基础知识

    <!-- HTML5 shim and Respond.js for IE8 support of HTML5 elements and media queries -->
    <!-- WARNING: Respond.js doesn't work if you view the page via file:// -->
    <!--[if lt IE 9]>
      <script src="http://cdn.bootcss.com/html5shiv/3.7.2/html5shiv.min.js"></script>
      <script src="http://cdn.bootcss.com/respond.js/1.4.2/respond.min.js"></script>
    <![endif]-->

    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1">


需要的三个包:

    <!-- jQuery (necessary for Bootstrap's JavaScript plugins) -->
    <script src="http://cdn.bootcss.com/jquery/1.11.1/jquery.min.js"></script>
    <!-- Include all compiled plugins (below), or include individual files as needed -->
    <script src="js/bootstrap.min.js"></script>

    <link href="css/bootstrap.min.css" rel="stylesheet">


jsp的环境搭建:需要tomcat
web程序

什么是静态网页和什么是动态网页
需要html css 数据库 和高级语言 java c#  js jquery xml 文档技术

环境开发 jdk tomcat服务器介绍: web服务器 可以解析html css  jsp和servlet容器

web结构:
bin,conf lib logs temp webapps work(把jsp生成的servlet放在目录下)

手写web
创建一个项目目录my.jsp, 然后创建一个WEB_INF文件夹然后在改文件下创建一个class文件夹
和一个lib文件夹 以及以个web.xml文件 然后测试运行

WEB-INF详解  javaweb的、一个安全资源 用户不可以访问  web.xml

<welcome-file-list>haha.jsp</welcome-file-list>修改了web.xml需要重启文档

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
javaweb虚拟路径
项目名称就可以称之为虚拟路劲

修改虚拟路径  在首选项的web选项

修改默认编码 在web选项

················
修改tomcat默认端口号

在tomcat conf/servlet.xml
8080端口 timeout=20000

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
JSP简介   JAVA SERVER PAGES
动态开发技术
JSP元素构成
JSP生命周期

JAVA平台,安全性高,适合开发大型
ASP相反
PHP LAMP

~~~~~~~~~~~~~~~~
jsp指令  静态内容 注释 声明 小脚本 表达式
】
JSP三种指令 
page位于JSP顶端<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>

include指令 可以将一个web文件嵌入  可以解析JSP
Taglib指令: 指令


JSP注释可看见


JSP生命周期: 用户发出请求  服务器接受用户请求, 会判断是否为第一次
如果是第一次会转换为servlet (也是椅个java类,)在编译时候运行 值执行一次,然后解析jspService()方法

jsp也是常住内存,可以访问速度很快。 用户请求一次就是椅个线程,也可以多线程,但是多线程有临界的危险


--------------------------

JSP内置对象
内置对象介绍
四中作用范围
out
request /respongse
seeion
application
其他对象
项目案例

~~~~~~内置对象不需要被new  例如OUT。print()不需要被new
九大内置对象 不常用的有
page pageContext exception config

~~~~~~~~~~~~~~~~~~~~~~~~~~
什么是缓冲区?
缓冲区:Buffer,所谓缓冲区就是内存的一块区域用来保存临时数据

JSP内置对象中的out
他是JSPWerite类的实例 想客户端打印
clear()清除缓冲区,但是在flush()之前调用会跑出异常
clearBuffer 区别就是不会跑出异常
flush()讲缓冲区的字节大小输出
getRemaining  范湖缓冲区还有多少剩余空间
isAutoFlush是自动刷新缓冲区
close()是关闭
getBufferSize()获得字节大小

在这里需要注意的是在flush()方法之后调用clear()方法会跑出异常, 但是clearBuffer()不会
-----------------------
get/post


request对象 HttpServletRequest类的实例
String getParamter(String name)请求乱码
String[] getParamterValue(数组)

解决乱码:tomcat提交表单默认的是ISO-8859-1 
解决方法一:要跟用户注册的字符集一样
<%
    request.setCharacterEndciond(“utf-8”);

%>

通过Url请求乱码  使用上面无法解决
需要需要servlet配置文档conf/servler 文件下的web.xml 在修改端口的末尾加上URIEncoding="utf-8"

~~~~~~~~~~~~~~~~(快速个格式化代码 ctrl+shift+f)

代码演示
<form action="login.jsp" method="get">
    <input type="text" value="请输入用户" name="username">
    <br/>
    爱好:
    <input type="checkbox" name="habit" value="篮球">篮球
    <input type="checkbox" name="babit" value="足球">足球
    <input type="checkbox" name="habit" value="羽毛球">羽毛球
    <br/>
    性别:
    <input type="radio" value="" name="sex"><input type="radio" value="" name="sex"><input type="submit" value="提交"> 
~~~~~~~~~~~~~~~~~~~~~~~~~
    <a href="login.jsp?sex=aaaa">超链</a>

</form>

login.jsp代码实现
    <%
        request.setCharacterEncoding("UTF-8");
        String username = request.getParameter("username");
        out.print("用户名:"+username);
        String[] arr = request.getParameterValues("habit");
        String sex = request.getParameter("sex");
        if (arr != null) {
            for (int i = 0; i < arr.length; i++) {

                out.print("兴趣爱好:"+arr[i] + " &nbsp;&nbsp;");
            }
        }
        out.print("性别:"+request.getParameter("sex"));
    %>


存储属性 request  setArrtibute("password","123456"); getArrtibute("pass");

getContentType() MIME协议的类号
getProtocol()返回请求用协议类型及版本号
getServName()返回接受请求的服务器主机名
getServerPort()
get字符编码
get文件长度(单位是字节)getContentLength()
getIP地址  getRemoteAddr()
获得真实路径 getRealPath()
获得请求上下文路径getContexttPath()

-----------------------
response对象 很少直接使用到
访问页面 只对当前页面有效,其他页面无效
response方法

getCharacterEncoding()返回字符集
setContentType(String type)  MIME类
getWrite()  可以向浏览器输出  和out对对象有区别  输出流总是首先打印
sendRedirect()重定向

请求转发和请求重定向的区别 
首先重定向是respong对象, 有两次请求, URI会发生相应的改变
request.getRequestDispatcher().forward(req,resp);只请求一次, URI不会改变

---------------------
Session
什么是Session?
表示客户端与服务器的一次对话,从访问网站和关闭网站时间 就是一次会话

实例:京东,天猫
用户登陆,浏览商品界面, 下单, 确认订单, 属于一次会话,Session 保存在服务器中
不同用户保存不同的、Session

Session是HttpSession的实例
getCreateTime() 创建时间
getId()  JSP引擎唯一的ID
setAttribute(String name,Object value); 在其他页面了可以调用getAttribute()获得值

String [] getValueNames()  返回Session可用数组



getMaxInactiveInterval()  返回请求会话最大时间,同样可用设置时间 使用set方法

--------------
生命周期
只要浏览器一关闭这个Session会话就结束, 但是会话没有被销毁,还存在,只是这个时候
客户端没法和服务端进行校验了, getId()不同了

销毁会话有三种方式:

服务器重启,调用session.ivalidate() Session过期

超时时间 默认为30分钟  
还有一种方法修改超时时间项目的web.xml


<session-config>
    <session-timeout>1<session-timeout>
<session-config>


--------
application对象 
实现了用户间的数据的共享,  可存放全局变量
开始于服务器的启动, 终止服务器的关闭 
在用户、的前后的链接或不同用户之间的链接中 , 可以对application对象同意属性进行操作 
服务器的启动和关闭决定了application的生命
application对象ServerContext的实例 

方法常用有三个 
设置属性 和获取属性  以及获取引擎版本号

Page对象   Content  config初始化信息

exception对象

需要isErrorPage=true  errorPage=“error.jsp”
方法
getMessage()
toSring()
printStackTrace()
Fill异常


javaBean
简介
设计原则 
如何使用
userBean
getProperty  set
java四个作用范围

设计原则:
必须共有  必须有构造函数  属性私有  用get 和set调用

 

posted @ 2014-12-09 20:03  初入程序猿  阅读(253)  评论(0编辑  收藏  举报