程序设计基础教程JavaWeb.docx

上传人:b****5 文档编号:5762004 上传时间:2023-01-01 格式:DOCX 页数:54 大小:41.18KB
下载 相关 举报
程序设计基础教程JavaWeb.docx_第1页
第1页 / 共54页
程序设计基础教程JavaWeb.docx_第2页
第2页 / 共54页
程序设计基础教程JavaWeb.docx_第3页
第3页 / 共54页
程序设计基础教程JavaWeb.docx_第4页
第4页 / 共54页
程序设计基础教程JavaWeb.docx_第5页
第5页 / 共54页
点击查看更多>>
下载资源
资源描述

程序设计基础教程JavaWeb.docx

《程序设计基础教程JavaWeb.docx》由会员分享,可在线阅读,更多相关《程序设计基础教程JavaWeb.docx(54页珍藏版)》请在冰豆网上搜索。

程序设计基础教程JavaWeb.docx

程序设计基础教程JavaWeb

第一讲(参考《JavaWeb程序设计基础教程》第1章)

1JSP和Java的关系

  一般Java指的标注版JavaSE

  另外两个版本:

JavaEE和JavaME

  JSP属于JavaEE的一部分。

  JavaEE:

    组件:

Web层组件(JSP+Servlet)+业务层组件(EJB)

    服务:

JNDIJDBCRMIJAASJavaMail等等

  JavaEE包括2个体系:

标准(上面介绍的)+流行(Struts+Hibernate+Spring)

  两套体系都是JSP+Servlet为基础。

2JSP会涉及哪些内容

  JSP语法基础(Java+HTML):

    对于Java,需要掌握Java的基本语法(类定义对象定义和使用常用类库java.lang.*,java.util.*)

    对于HTML,主要表单元素(输入)+表格(显示信息)+基本HTML

  JSTL,标准标签库,用于输出和控制

  EL,通常与JSTL一起使用,主要用于输出

  Servlet,几乎所有介绍JSP的书和课程都包含Servlet,因为JSP实际上指的是JavaWeb开发。

用Servlet主要是控制器。

  JDBC,对数据库的访问。

  JavaBean(Java类)

3JSP的运行环境

  JDK

  服务器:

我们用Tomcat。

其它的服务器:

IBMWebsphere+BEAWebLogic  +JBoss(免费的)+GlassFish(新出的JavaEE5服务器)

4JSP的开发环境

  页面:

DreamWeaver开发页面

  代码:

本文编辑器EclipseNetBeansJBuilder

  注:

我们采用记事本。

5Tomcat文件夹

  webapps  主要各个应用,编写的每个应用(网站)都可以放在这个位置

  bin  这个是启动服务器的相关文件,tomcat6用于命令行方式的启动,tomcat6w用于windows方式的启动

  conf  用于配置,常用的是server.xml另外一个是web.xml

  work存放临时文件

  logs  系统运行时候的日志信息

6实例:

hello.jsp

  创建一个应用,实际上需要在webapps中创建文件夹,bookstore,相当于应用的名字

  文件夹中要创建一个子文件夹WEB-INF,这个每个应用web应用都需要的。

  在WEB-INF中需要web.xml,是web应用的配置文件,还应该有classes和lib子文件夹(存放类文件)

  JSP文件和HTML文件直接放在bookstore下面。

  hello.jsp文件内容如下:

<%@pagecontentType="text/html;charset=gb2312"%>

--上面的代码声明文档类型和编码方式,每个JSP文件基本上都会有-->

  

    第一个JSP程序

  

  

    Hello,晚上好!

    

  先启动服务器:

  访问程序:

http:

//127.0.0.1:

8080/bookstore/hello.jsp

  http表示协议

  127.0.0.1表示主机IP地址,也可以写主机名字

  8080表示服务的端口,上网的时候不用输入端口,因为采用了默认的端口,默认端口80。

  bookstore表示应用,是应用的名字

  hello.jsp就是资源

7JSP的运行原理

  过程:

    首先启动服务器,并且要保证应用在服务器上(把应用放在webapps下面,会自动加载)

    在客户端通过浏览器发送请求(在地址栏中输入地址)

    服务器接收到请求之后,查找有没有这个文件对应的Java文件的对象。

如果没有这个对象,需要创建(先把JSP文件转换成Java文件,

    编译成.class文件,加载类并创建对象),然后调用对象的相应方法,方法完成对用户的响应,通常是输出的html代码)

    客户端接收到的是html代码,浏览器解析这个代码生成页面。

  

8表格的语法

  开始标志:

  结束标志:

  中间是行,每行是一个  

  每行之间是列,每一列对应

  之间的内容就是每个表格中的信息

*************************************************第一讲结束

阳光

2008-11-1519:

54:

57

第二讲(参考《JavaWeb程序设计基础教程》第2章)

1、form

  只要是涉及向服务器提交信息,都应该使用form。

  基本语法结构:

  

    各种表单元素

  

  action属性决定的目标文件来对用户提交的信息进行处理。

2、常用的表单元素

  单行文本框:

用于输入少量的信息。

  基本语法格式:

  

  type="text"就说明这是单行文本框;

  name指出文本框的名字,最好不要用汉字,最好使用有意义的名字;

  value指出默认值,如果没有默认值,可以不要value属性,value属性经常在修改的时候使用。

  注意:

如果有格式要求,要明确的告诉用户。

  密码框:

用于输入密码。

  基本的语法格式:

  

  注意:

设置密码的时候,应该使用确认密码,应该有两个密码框。

  提交按钮:

当点击它的时候,会把输入的信息提交给服务器。

  基本语法格式:

  

  type应该为submit,value是显示在按钮上面的信息。

  复位按钮:

当点击它的时候,会把各个表单元素的值恢复到默认值。

  基本语法格式:

  

  

  普通按钮:

也可以完成提交,还可以完成方法的调用。

  基本语法格式:

  

  单选按钮:

通用用于在多个选项中选择一个。

  基本语法格式:

  

  这个表示一个单选按钮,并且仅仅是一个按钮。

  例,选择性别:

  

  

  如果希望在多个选项中选择一个(有互斥性),必须让他们的名字一致。

  复选框:

用于多选。

  基本的语法格式:

  

  显示给用户的信息与提交给服务器的信息没有关系。

  如果希望多个选项是一组,应该使用相同的名字。

  下拉列表:

用于选择,可以单选,也可以多选。

  基本语法格式:

  

    1

    2

    ...

  

  每个选项使用一个option,使用value属性指出该选项的值,在之间是显示给用户的值。

  文本域:

用于输入大量的信息。

  基本语法格式:

  

    默认值

  

  要为这个文本域赋默认值,需要把值放在开始标志和结束标志之间,而不是使用value属性。

3、完成输入的时候应该注意的问题

  对格式的要求必须明确,包括长度、数字、日期、email、电话、必添。

  能够从系统中获取的信息不要让用户提供,例如当前时间。

  能够选择的信息不要让用户输入。

  按照信息的重要程度安排表单元素在界面中的位置。

4、对用户输入信息进行验证

  要用JavaScript,使用下面的标记:

  

    //JavaScript代码

  

  要写方法

  functioncheck(){

  }

  方法可以不用定义返回值,但是可以有返回值

  获取用户输入的值:

  document.form1.username.value

  document表示当前文档,form1表示表单的名字,username表示该表单中表单元素的名字,value表示得到值

  把表单提交与方法关联:

可以使用表单的onSubmit事件。

  

  例:

  functioncheck(){

    username=document.form1.username.value;

    if(username.length<6||username.length>8){

      alert("用户名长度不合适!

");

      returnfalse;

    }else{

      returntrue;

    }

  }

  使用button的onClick事件进行验证:

  首先要把提交按钮修改成普通按钮;

  在普通按钮上增加事件:

onClick="javascript:

check()"

  在验证成功的时候,提交表单:

document.form1.submit();

*************************************************第二讲结束

阳光

2008-11-1519:

55:

56

第三讲(参考《JavaWeb程序设计基础教程》第3.4章)

1、include指令

  作用:

把多个文件中需要共享的代码放在单独的文件中,然后在需要的时候使用该指令引入这个文件。

典型的应用,把网站的头部和版权信息放在单独的文件中,在其他文件中包含这两部分。

  基本的语法格式:

      <%@includefile="目标文件"%>

  file属性指出目标文件。

  例:

把index.jsp和register.jsp中的共同部分做成单独的文件header.jsp(后缀名不一定是.jsp),然后在index.jsp和register.jsp中调用。

  header.jsp中的内容如下:

<%@pagecontentType="text/html;charset=gb2312"%>

  

    

电子书店

  

  

    

      

--超链接的基本格式  -->

      注册

      最新图书最畅销图书查询图书修改密码查询订单购物车

  

  

    


  

在index.jsp中引入header.jsp的代码:

<%@pagecontentType="text/html;charset=gb2312"%>

<%@includefile="header.jsp"%>

  

    

      

        

            

            

        

      

              

--登录界面代码-->

              

                

--主要是涉及提交信息,就要用到form,action决定了提交给哪个文件处理-->

                用户名:


                口令:


                

              

            

              欢迎光临我们的书店!

            

    

  

运行过程:

在转换的时候,当遇到include指令的时候会把include指令指向的目标文件的内容拷贝到当前位置,替换include指令,这样最后形成一个文件。

然后才编译形成class文件,然后运行。

2、

forward>标签

  我们使用登录功能的模拟来介绍。

  首先,使用Java代码完成判断,使用

forward>完成跳转,代码:

<%@pagecontentType="text/html;charset=gb2312"%>

<%

  //先获取用户输入的用户名和口令,然后判断是否合法

  Stringusername=request.getParameter("username");

  Stringuserpass=request.getParameter("userpass");

  if(username.equals("zhangsan")&&userpass.equals("zhangsan"))

  {

%>

    

forwardpage="success.jsp"/>

<%

  }else{

%>

    

forwardpage="index.jsp"/>

<%

  }

%>

  注意:

不管跳转到success.jsp还是index.jsp,地址栏都是处理文件的名字。

  

forward>的语法格式:

    

forwardpage="目标文件"/>

  page属性指出转向的目标文件。

最后的结束符为“/>”,斜杠不能省略。

  另外一个可以完成跳转的方式是采用response.sendRedirect()。

response和request一样,都是内容对象,可以直接访问。

修改上面的文件:

<%@pagecontentType="text/html;charset=gb2312"%>

<%

  //先获取用户输入的用户名和口令,然后判断是否合法

  Stringusername=request.getParameter("username");

  Stringuserpass=request.getParameter("userpass");

  if(username.equals("zhangsan")&&userpass.equals("zhangsan"))

  {

    response.sendRedirect("success.jsp");

  }else{

    response.sendRedirect("index.jsp");

  }

%>

  

forward>和response.sendRedirect的运行效果相同(针对上面的这个例子)。

  相同点:

都是转向目标文件。

  不同点:

地址栏中显示的内容是不相同的,如果使用

forward>,地址栏显示当前文件的名字,如果使用response,地址栏显示的是转向后的文件的名字。

执行过程不同:

使用

forward>相当于一次请求,使用response相当于两次请求。

  使用

forward>的情况:

  index.jsp中输入用户名和口令,提交给login_process.jsp,服务器保存用户的输入信息,使用

forward>转向success.jsp之后,success.jsp还可以访问用户输入的信息,因为输入同一次请求。

  使用response的请求:

  index.jsp中输入用户名和口令,提交给login_process.jsp,服务器保存用户的输入信息,使用response的sendRedirect方法相当于重新向服务器发送一次请求,这样上次的请求内容(用户名和口令)就不能共享了。

  

3、

include>标签

  把index.jsp中<%@include="header.jsp"%>替换成

includepage="header.jsp"/>

  从运行效果上相同。

  不同点:

1、两个文件,目标文件是单独运行的,当前文件运行到

include>标签的时候,转向执行标签所指向的目标文件,执行之后返回继续标签之后的内容。

  2、<%@include%>指令是在编译(转换)的时候使用,

include>在运行的时候起作用。

  程序中如何选用:

要导入的内容是不是每次都执行,如果每次都执行的话,应该使用<%@include%>,如果是在特定的条件下,应该使用

include>。

例如,登录之后要么转向success.jsp要么转向index.jsp,如果在程序中使用导入,应该用

include>。

4、

include>和

forward>区别

  把login_process.jsp中的

forward>替换成

include>:

<%@pagecontentType="text/html;charset=gb2312"%>

<%

  //先获取用户输入的用户名和口令,然后判断是否合法

  Stringusername=request.getParameter("username");

  Stringuserpass=request.getParameter("userpass");

  if(username.equals("zhangsan")&&userpass.equals("zhangsan"))

  {

%>

    

includepage="success.jsp"/>

<%

  }else{

%>

    

includepage="index.jsp"/>

<%

  }

%>

  运行效果是相同的。

但是有不同点,修改代码如下:

<%@pagecontentType="text/html;charset=gb2312"%>

处理文件的前半部分

<%

  //先获取用户输入的用户名和口令,然后判断是否合法

  Stringusername=request.getParameter("username");

  Stringuserpass=request.getParameter("userpass");

  if(username.equals("zhangsan")&&userpass.equals("zhangsan"))

  {

%>

    

includepage="success.jsp"/>

<%

  }else{

%>

    

includepage="index.jsp"/>

<%

  }

%>


处理文件的后半部分

两次运行结果不相同。

分析原因:

  

forward>:

先执行标签之前的内容,遇到标签的时候转向执行目标文件,执行完不返回,显示的内容为目标文件的内容,标签之前的内容执行,但是不显示。

标签之后的内容不会执行,当然更不会显示。

  

include>:

先执行标签之前的内容,遇到标签转向执行目标文件,执行完返回,继续执行标签之后的内容,显示的内容为:

标签之前的内容+目标文件的内容+标签之后的内容,标签的前后都执行,都显示。

5、使用标准标签库(JSTL)完成登录的判断过程

  如何使用标签标签库:

(1)得到标签库的实现文件,jstl.jar和standard.jar,放在WEB-INF下面的lib子文件夹。

(2)在JSP文件中要声明标签库,通过tablib指令进行声明:

<%@taglibprefix="c"uri="(3)使用标签:

iftest="">  

if>

  要完成判断,可以使用标签标签库中的c:

if标签。

标签的基本格式:

  

if  test="">条件成功要执行的内容

if>

  test表示测试条件,测试条件可以写常量,可以是表达式语言(EL,主要用于输出),主要使用表达式语言。

  例如:

要判断用户提交的用户名和口令是否是zhangsan。

  

iftest="${param.username==\"zhangsan\"&¶m.userpass==\"zhangsan\"}">

    

forwardpage="success.jsp"/>

  

if>

  注意:

添加完标准标签库之后,需要重新启动服务器。

6

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > PPT模板 > 中国风

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1