`
幸福不灭
  • 浏览: 15018 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论
阅读更多
                      JSP
JSP:九大对象、七大动作、三大指令。

在BIN目录里面启动服务器(startup),然后在浏览器里面输入http://localhost(服务器IP):端口号(8080)/就可以看到自己的服务端.
如果要运行程序:
例如:http://192.168.1.77:8080/mywork/table.jsp
192.168.1.77是服务器IP。
8080是端口号。
mywork是项目名。
table.jsp是文件名。
解决乱码:
一定要把这一行放到jsp文件的第一行:
<%@ page language="java" contentType="text/html; charset=GBK"
pageEncoding="GBK"%>

九大对象:
第一大对象:Out

Out.print();输出数据到浏览器,和<%=  %>一样的效果.
<%   %>括号中间写JAVA代码。
<%=变量%>输出到浏览器

1.       网页跳转.
form表单的跳转,在form里面输入action=”*.jsp”;
例如:
<form name="enter" action="文件名.jsp" onsubmit="return 函数名()">
再<input type="submit" value="提交" name="refer">,点击提交后就可以就可以跳转到*.jsp页面.
如果输入为空的话,不想让页面跳转,可以在函数里面加入return false;不满足条件就不往下执行.全部满足条件的时候就跳转到另一个页面.
2.       javascript跳转:
例如:
function test(){
        //window.location.href="*.jsp";   这个就像超链接,可以返回
        window.location.replace("*.jsp");  这个就是把以前的给替代了,所以不能返回.
}
在按钮上面调用这个函数方法就可以执行跳转了.
Button类型按钮:
function xxx(){
        document.form名.submit();       
}
//调用这个方法的按钮会自动执行form里面的action,跳转到另一个页面.

动态修改action:
function xxx(){
        document.enter.action="color.jsp";  //更改action里面的页面,下面的语句不能注释,要靠它提交,不然会没反映.
        document.enter.submit();             //调用这个方法的按钮会自动执行form里面的action,跳转到另一个页面.
}

function text(){
        document.enter.action=document.enter.name.value;  //在文本框上面输入什么页面就进入什么页面.
        document.enter.submit();   //上面改值后用这个提交.
}


****(第二大对象)request对象:获取客户端提交的数据。
  out  向客户端输出数据
  request 向客户端请求数据
客户端的跳转方式:
function zhuce(){
        document.enter.action="requestTest.jsp";
        document.enter.submit();
}
<%
out.print("<table border=1>");
out.print("<tr>");
out.print("<td>"+"姓名:"+request.getParameter("name")+"</td>");
out.print("</tr>");
%>
执行上面这段代码将会在另外一个页面输出你输入的姓名.

l         表单的两种提交方式get与post
<form name="enter" action="array.jsp" onsubmit="return login()" method="post">

解决乱码的三种方式:
<%@ page language="java" contentType="text/html; charset=GBK"
    pageEncoding="GBK"%>
<%      request.setCharacterEncoding("GBK") ; 
            response.setCharacterEncoding("GBK")
%>

Get和post提交的区别:
1.Get不安全,Post安全(因为get把里面的信息全部显示在了地址栏上面,而post没有)
2.get有长度限制,post没有长度限制.
下面是get提交后产生的地址栏的地址:
http://192.168.1.77:8080/mywork/requestTest.jsp?name=%CD%F5%BA%A3&age=22&sex=%C4%D0&native=%C0%E4%CB%AE%CC%B2&like=%BF%B4%CA%E9&like=%CC%B8%C7%E9&like=%CB%AF%BE%F5&intro=%09%0D%0A%09tell+me+why+%0D%0A%09%D7
下面是post提交后产生的地址栏的地址:
http://192.168.1.77:8080/mywork/requestTest.jsp

服务端的跳转方式:
第三大内置对象:response (重定向)
只发生在请求的范围之内(只能从上一个页面传到另一个页面).
Response.sendRedirect(“http://www.baidu.com”);

response 封装了jsp产生的响应,然后被发送到客户端以响应客户的请求

hidden:隐藏表单域.
就是把一个框架给隐藏起来,但是它的值还在这里,只是不显示出来而已,也可以用它来传值,并且在另一个页面显示出来.
例如:
<input type="hidden" name="userName" value=<%=request.getParameter("userName")%>>

第四大内置对象session:
在当前打开的浏览器内,多个页面的数据共享.
       session.setAttribute("name",request.getParameter("userName"));
       session.setAttribute("pass",request.getParameter("password"));
       session.getAttribute("name");
session.getAttribute("pass");                                                                          

第一大指令:page
用指令导入一个包:
<%@ import=”包名”%>

2010-4-19
在一个项目中不能用过多的session,因为它会导致系统的性能下降,所以我们要慎用session。
一般是用在保存用户的登录信息(用户信息、权限、资源)、频繁使用的信息。

第五大内置对象(application):可以在多个浏览器内共享数据
application>session>request
session保存的数据只在当前浏览器有效,只要不关闭浏览器,就能实现多个浏览器之间的共享。
Application保存的数据在当前服务器里有效,只要不关闭服务器,也能实现多个浏览器之间的共享。
application对象 application对象实现了用户间数据的共享,可存放全局变量.它开始于服务器的启动,直到服务器的关闭,在此期间,此对象将一直存在;这样在用户的前后连接或不同用户之间的连接中,可以对此对象的同一属性进行操作;在任何地方对此对象属性的操作,都将影响到其他用户对此的访问.服务器的启动和关闭决定了application对象的生命.它是ServletContext类的实例.
session对象 session对象指的是客户端与服务器的一次会话,从客户连到服务器的一个WebApplication开始,直到客户端与服务器断开连接为止.它是HttpSession类的实例.

第一大指令:page
导入自己的类:
<%@ page import=”包名.类名”%>

2010-4-22
l         JSP中的静态包含与动态包含
第二大指令:include
重复的代码就抽取出来,如:一个表的欢迎语句就可以抽取出来,因为每个表都要有欢迎语句:
1.静态包含<%@ include file=”*.jsp”%>
第一大动作:<jsp:include >
2.动态包含<jsp:include page=”*.jsp” flush=”true”> </jsp:include>

这段代码放在哪里就显示在哪里!!
静态包含和动态包含的区别:
1.       单独编译(动态包含)与统一编译(静态包含)→变量共享。
2.检查包含文件变化(动态包含刷新的时候总是会去检查文件,而静态包含却不一定会去检查文件)。
3.动态包含可以带参数,静态包含不可以带参数。

第二大动作:<jsp:useBean>
语法:
       <jsp:useBean class=”包名.类名” id=”aa” />
<jsp:useBean class=”包名.类名” id=”aa” scope=”session” />
<%
//scope=”session” 这是设置它的有效范围 就相当于session.setAttribute();
//id="person"就相当于 PersonDB person=new PersonDB();生成person对象
%>

  动态包含与静态包含 
<jsp:include>动态包含与静态包含
it  分类:jsp

动态INCLUDE
用jsp:include动作实现 <jsp:include page="included.jsp" flush="true" />它总是会检查所含文件中的变化,适合用于包含动态页面,并且可以带参数。

(这里你必须使用flush="true",你不能使用false值.缺省值为false )
静态INCLUDE
用include伪码实现,定不会检查所含文件的变化,适用于包含静态页面<%@ include file="included.htm" %>
===================================================================
1. 静态include的结果是把其他jsp引入当前jsp,两者合为一体
动态include的结构是两者独立,直到输出时才合并( 看看jsp生成的java文件就可以知道了)
2.正是因为这样,动态include的jsp文件独立性很强,是一个单独的jsp文件,需要使用的对象,页面设置,都必须有自己创建,当然, 还好它和include它的页面的request范围是一致的.
而静态include纯粹是把代码写在外面的一种共享方法,所有的变量都是可以和include它的主文件共享,两者高度紧密结合,不能有变量同名的冲突.而页面设置也可以借用主文件的.

  flush属性: 用true ,表示页面可刷新。

第六大内置对象:page
<jsp:useBean class=”包名.类名” id=”生成的对象的名字” scope=”session” />
如果不写scope=”session” 就默认为第六大内置对象。
它的数据只作用于当前页面
第三大动作:<jsp:getProperty  name=”生成对象的名字” property=”对象的属性(age)”>
从对象中取出属性值:<jsp:getProperty name="bean对象" property="bean对象属性" >
例如:<jsp:getProperty property="age" name="person"/>

第四大动作<jsp:getProperty name=”bean对象实例” property=”age” value=”12”/>

例如: <jsp:setProperty property="age" name="person" value="12"/>

参数赋值法:<jsp:setProperty name=”bean对象实例” property=”age” param=”参数属性”/>
就是说你用?号传值法把你输入的值给传到param里面。

1.创建bean对象:
<jsp:useBean id="bean对象引用名" class="包.类" scope="对象作用域(page(默认)/request/session/application)" />

2.为对象设置属性值:
   <jsp:setProperty   name="bean对象" property="bean对象属性" param="请求参数名(表单元素名)">
   <jsp:setProperty   name="bean对象" property="bean对象属性" value="变量的值">   
注意:属性名区别大小写,param 和 value只能单独用,不能合用

2.     从对象中取出属性值:<jsp:getProperty name="bean对象" property="bean对象属" >






                               set
                       
                 form提交
                               post 
1.客户端跳转                      href
               修改地址提交法   
                                  replace



                重定向:response.sendRedirect(“http://www.baidu.com”);
2.服务端跳转
                <jsp:forward page=”网址”/>


<jsp:forward page="header.jsp"></jsp:forward>
第五大动作:<Jsp:forward page=”*.*”></jsp:forward>
只能跳到当前文件里面的文件,不能跳到www.baidu.com网.
response.sendRedirect(“http://www.baidu.com”);可以跳转到所有的网站和jsp文件.
<jsp:forward page=”网址”>和response.sendRedirect(“网址”);的区别:
1.       地址栏的区别:跳转的时候, response.sendRedirect(“”);的地址栏改变了,而<jsp:forward>的地址栏没有改变
分享到:
评论

相关推荐

    JSP图书管理系统

    &lt;%@ include file="inc/conn1.jsp"%&gt; &lt;%@ include file="top.jsp"%&gt; ; charset=gb2312"&gt; 计算机图书--管理系统 &lt;!--DWLayoutTable--&gt; &lt;td width="39" rowspan="9" align="right" valign="top"&gt;&lt;img src=...

    jsp web程序jsp web程序jsp web程序jsp web程序jsp web程序jsp web程序jsp web程序jsp web程序jsp web程序

    jsp web程序jsp web程序jsp web程序jsp web程序jsp web程序jsp web程序jsp web程序jsp web程序 jsp web程序jsp web程序jsp web程序jsp web程序jsp web程序jsp web程序jsp web程序jsp web程序 jsp web程序jsp web程序...

    jsp论坛设计与实现

    jsp论坛设计与实现jsp论坛设计与实现jsp论坛设计与实现jsp论坛设计与实现jsp论坛设计与实现jsp论坛设计与实现jsp论坛设计与实现jsp论坛设计与实现jsp论坛设计与实现jsp论坛设计与实现jsp论坛设计与实现jsp论坛设计与...

    电影售票系统JSP 电影售票系统JSP

    电影售票系统JSP电影售票系统JSP电影售票系统JSP电影售票系统JSP电影售票系统JSP电影售票系统JSP电影售票系统JSP电影售票系统JSP电影售票系统JSP电影售票系统JSP电影售票系统JSP电影售票系统JSP电影售票系统JSP电影...

    基于 Servlet+jsp+mysql 开发 javaWeb 学生宿舍管理系统

    基于 Servlet+jsp+mysql 开发 javaWeb 学生宿舍管理系统基于 Servlet+jsp+mysql 开发 javaWeb 学生宿舍管理系统基于 Servlet+jsp+mysql 开发 javaWeb 学生宿舍管理系统基于 Servlet+jsp+mysql 开发 javaWeb 学生宿舍...

    JSP程序设计实训与案例教程源代码

    JSP程序设计实训与案例教程源代码JSP程序设计实训与案例教程源代码JSP程序设计实训与案例教程源代码JSP程序设计实训与案例教程源代码JSP程序设计实训与案例教程源代码JSP程序设计实训与案例教程源代码JSP程序设计实...

    jsp经典笔记jsp经典笔记

    JSP(java server page) 1.JSP介绍: JSP是服务器端运行的页面,JSP本身就是一个Servlet,他不仅可以包含静态的HTML代码,也可以包含动态的JAVA代码,服务器容器可以将JSP转换成Servlet发布,并接受请求。 Jsp文件...

    jsp+mysql简单留言板实现

    采用纯jsp页面+Mysql的方法实现功能 项目编码是gb2312,要转换格式的请自己装换,界面简洁,功能简单,实现容易,非常适合初学者 有助于加深初学者对jsp的理解和使用Mysql数据库 String DBDRIVER = ...

    jsp建立的博客jsp建立的博客

    jsp建立的博客jsp建立的博客jsp建立的博客jsp建立的博客jsp建立的博客jsp建立的博客jsp建立的博客jsp建立的博客jsp建立的博客jsp建立的博客jsp建立的博客jsp建立的博客jsp建立的博客jsp建立的博客jsp建立的博客jsp...

    jsp网站源码jsp网站源码

    jsp网站源码jsp网站源码jsp网站源码jsp网站源码jsp网站源码jsp网站源码jsp网站源码

    JSP 程序设计从入门到精通 PDF 教程

    《JSP程序设计从入门到精通》电子书  第1篇 入门篇 7  第1章 Jsp概述 技术分析 7  1.1 Jsp简介与历史背景 7  1.1.1 日新月异的Web技术 7  1.1.2 什么是JSP 8  1.1.3 JSP技术有以下几个显著的优点 9  ...

    JSP动态网页制作基础培训教程源代码.rar

    JSP下载文件说明包括两部分内容,一部分是JSP基础知识;另一部分是综合实例。读者可根据相应的使用说明直接使用这些源代码。 一、基础知识部分 此部分是指文件夹名为第1~9章中的内容(如表1),这些是书中介绍JSP...

    JSP期末考试试卷及参考答案

    6、通常应用(&lt;jsp:useBean&gt;)动作标识可以在JSP页面中创建一个Bean实例,并且通过属性的设置可以将该实例存储到JSP中的指定范围内。 7、在JSP内置对象中,(request)对象是从客户端向服务器端发出请求,包括用户提交的...

    JSP期末考试试题及答案

    1)在JSP中,要定义一个方法,需要用到以下()元素。(选择一项) a) &lt;%= %&gt; b) c) ! %&gt; d) 2)JSP页面经过编译之后,将创建一个()。(选择一项) a) applet b) servlet c) ...

    JSP程序设计教程课件及所有40M源码

    JSP程序设计教程课件及所有40M源码 作者:郭珍 王国辉 出版时间:5/1/2008 所属丛书:21世纪高等学校计算机规划教材——精品系列 源程序使用方法 (1)需要安装Eclipse、JDK1.6、Tomcat 6.0、SQL Server 2000。 (2...

    jsp高级编程--jsp基础&&jsp高级应用

    第一部分 jsp入门 第一章 概述 第二章 预备知识 第三章 jsp开发平台的建立--tomcat 第四章 jsp的语法和语义 第五章 作为xml的jsp 第六章 jsp基础实例 第七章 用jsp实现常见的web应用 第二部分 高级jsp技术 ...

    jsp实现级联菜单 jsp实现级联菜单

    jsp实现级联菜单jsp实现级联菜单jsp实现级联菜单jsp实现级联菜单jsp实现级联菜单

    jsp模板 jsp模板 jsp模板jsp模板jsp模板

    jsp模板jsp模板jsp模板jsp模板jsp模板jsp模板jsp模板jsp模板jsp模板jsp模板jsp模板jsp模板jsp模板jsp模板jsp模板jsp模板jsp模板jsp模板jsp模板jsp模板jsp模板jsp模板jsp模板jsp模板jsp模板jsp模板jsp模板jsp模板jsp...

    大三下学期JSP作业实验三SWQ 里面没有学号.pdf

    大三下学期JSP作业实验三SWQ 里面没有学号。 文件夹 PATH 列表 卷序列号为 4E8D-6931 C:. │ .txt │ 实验三 JSP应用开发进阶.doc │ 报告三学号姓名.doc │ ├─代码 │ 1.html │ 1.jsp │ 2.jsp │ 3.jsp │ 4....

Global site tag (gtag.js) - Google Analytics