jsp入门教程(推荐)

更新时间:2023-11-05 21:45:01 阅读量: 教育文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

序言

序言

作者说

1. 想用jsp做网站的朋友看过来

亲爱的朋友,你们好吗?如果你想用jsp做网站,小程序,或者其他什么东西,那么你算是找对地方了。我们这份教程正好是介绍这些的。 考虑到朋友们的基础不同,我们在每章之前都加上几条问题,如果你觉得这些问题驾轻就熟,就可以直接跳到下一章了,如果感觉很模糊,甚至不了解,那么一定要仔细阅读。 现在就开始吧,希望大家旅途愉快。

2. 预备知识

为了学好jsp,我们至少需要下面这些东西。

1. 会用电脑,会用浏览器,知道怎么用浏览器看网页,然后在网页上乱点。

很遗憾,这些东西不属于我们的教授范围,如果连这些都搞不定,还是另请高明吧。

2. HTML呀,一点儿点儿的CSS,一点儿点儿的javascript。

这些呢,有一些是美工的工作,有一些是程序员的工作。在使用jsp的时候一定会接触到这些东西,这样我们就必须在介绍jsp的时候顺便提几句,但不会深究,够用就好咯。

如果希望在这些技术上深造,就需要去找专门介绍它们的书了,不过即使不去看,我们也会尽量保证解释清楚本文中涉及到的部分。

3. jsp必须用到java,你必须会安装java的编程环境,你还需要自己搭建一个服务器,这样才能运行你写的jsp。

这些对与没接触过java的朋友就太难了,所以我们会以图文并茂的方式,手把手教没用过java的朋友配置起整个开发环境来。已经掌握java的朋友可以直接跳过。

4. 正式开始jsp之前,我们还需要了解jsp赖以生存的协议http。 只有明白http以及浏览器,服务器之间的关系才有可能正确理解jsp,才不会在以后的开发过程中发生混淆。这部分虽然是纯理论部分,但是十分重要,在不确定自己能掌握之前,请详细阅读。 5. 我们要掌握jsp的基本运用知识,知道怎么用和为什么这样用,慢慢的通过一些由浅入深的例子来掌握它们,

6. 随着学习的深入,我们将要把视线从单纯的jsp展开到整个java开发社区,用一些开源工具包来实现更多的功能。甚至,我们会背叛jsp,制作完全不使用jsp的网站。

这些额外的讨论只是为了扩展我们的视野,开拓我们的思路,并不会把抛弃jsp当作主题。

有了这些,已经足够完成我们的学习计划,现在我们终于可以开始了。

3. java环境配置

如果你满足以下任一条件,请继续阅读,否则请跳过此后的部分,进入下一章:第 1 章 开始编写jsp。

1. 没用过java,没配置过java环境的朋友。

2. 用过java,但没有使用过类似tomcat服务器的朋友。 按照我们的直接感官认识,如果我们要写jsp,就需要一个支持jsp的程序来运行它,我们在这里选用的是tomcat,而tomcat需要安装java开发环境。反过来就是我们准备的顺序,先是java然后tomcat。

3.1. 安装jdk

jdk是Java Development toolkit(Java开发工具包),我们需要的就是下载,安装,进行需要的配置。 本教程支持版本号:JDK 6 Update 5

下载JDK 6 Update 5。网

址 http://java.sun.com/javase/downloads/index.jsp。 选择右侧的download。

选择accept接受sun的下载协议。

接受协议后,就可以选择71.39M的下载包,进行下载。

下载完毕,得到jdk-6u5-windows-i586-p.exe。

双击jdk-6u5-windows-i586-p.exe进行安装,默认的安装路径是:C:\\Program Files\\Java\\jdk1.6.0_05\\。

安装完成后,C:\\Program Files\\Java\\jdk1.6.0_05\\目录结构如下。

请确认安装了jdk,并配置了对应的JAVA_HOME环境变量。 双击运行bin目录下的startup.bat

看到:“server startup in 4062 ms”,说明tomcat启动成功。

关闭tomcat,可以直接关闭cmd窗口,或使用shutdown.bat

到此为止,准备工作都已结束,我们可以在tomcat下编写jsp了。

跟姐姐学jsp

第 1 章 开始编写jsp

上一页

下一页

起始页

第 1 章 开始编写jsp

第 1 章 开始编写jsp

注意

因为本章包含了对http部分原理的介绍,建议读者不要略过这部分。

如果你不满足以下任一条件,请继续阅读,否则请跳过此后的部分,进入下一章:第 2 章 让jsp说hello。

1. 了解jsp的基本组成,可以编写简单的jsp。

2. 了解tomcat下jsp的放置位置,以及如何访问对应路径下的jsp。 3. 了解http基本原理,以及jsp在http下是如何发挥效用的。

1.1. 开篇第一个jsp

JSP是Java Server Page的缩写,现在先让我们编写一个简单的jsp页面,看看jsp究竟能干什么?

<%=new java.util.Date()%> 随便找一个文本编辑器来编写第一个jsp吧,如果实在没有顺手的编辑器,那么也可以用windows自带的记事本,新建一个test.jsp文件,把上面的代码复制到文件里,保存即可。

如果嫌麻烦,也可以直接使用文档附带的演示代码,位置在lingo-sample/01-01/test.jsp。

注意

对于第一次用记事本写代码的朋友,有一点需要特别注意,默认情况下windows不会显示扩展名,如果直接在记事本里将文件名改为test.jsp,那么另存的文件名会变成test.jsp.txt,记事本会自作聪明的为你加

上.txt的扩展名,为了避免这种问题,需要在保存的时候,在文件名两端加上双引号,就像这样\。

建议设置系统文件夹属性,把文件的扩展名显示出来,这样我们更容易看出是否在文件名上出现问题。如果找不到这个设置,请打开“我的电脑” -> 选择上方菜单里的“工具” -> 选择弹出菜单中的“文件夹选项” -> 选择第二个标签“查看”,在下边的配置里有一项“隐藏已知文件类型的扩展名”,将它前面的对勾取消,点击确定,就可以看到文件的全名了。

得到了我们的第一个jsp文件之后,让我们把它复制到

tomcat/webapp/ROOT目录下。现在检查一下tomcat是不是已经启动了,如果还没启动,需要先去启动tomcat,在看到tomcat正常启动的提示之后,就可以打开浏览器,输入网

址 http://localhost:8080/test.jsp查看执行效果。 页面上的显示应该与下面类似:

Fri Feb 29 00:54:20 CST 2008 看到了这些字样,也就说明我们写的第一个jsp已经成功执行了,现在咱们看到的并不是谁预先写好的文字,而是使用服务器实时计算出的当前时间,如果不信你可以多刷新几次页面,时间内容会不断改变,显示的永远是当前服务器的时间。

pageContext.setAttribute(\, 1); } else { pageContext.setAttribute(\, countPage + 1); } 这里先从pageContext中取出名为countPage的整数,因为返回的都是java.lang.Object类型,所以需要强制转换成我们需要的整形。这里取得的变量如果不存在就会返回null,通过判断countPage == null来辨别变量是否存在,如果不存在就设置为1,如果存在就进行累加,最后使用setAttribute()方法将修改后的变量值放入pageContext。 将其中的pageContext换成request, session, application就可以操作其他三个作用域中的变量。 在显示这些变量值的时候,我们没有写

<%=pageContext.getAttribute(\而是使用了

${countPage}的形式,这种${}的形式叫做el表达式,是jsp-2.0规范的一部分,tomcat里正好可以使用。 使用el有以下几个好处:

1. 代码量小,并且不需要使用尖括号。

2. 支持从pageContext, request, session, application中取值,它会自动检查四个作用域,不需要特别指定。

3. 如果变量不存在,会输出空字符串\,而不是null,省去了手工判断的工作。

4.2. 例子:在线列表

我们做一个新手级的在线用户列表,原理是这样:

1. 用户登录,并把登录使用的用户名保存到session中,通过session中是否存在用户名判断用户是否已登录。

session可以在整个会话过程中保存用户信息,不必每次刷新页面都重新登录。

2. 用户登录后,将用户名添加到application中的在线用户列表。 用户注销时,讲用户名从application中的在线列表删除。 只要服务器还在运行着,application就会保存所有登录用户的信息,所有用户都可以看到这个在线用户列表。 可以尝试一下lingo-sample/04-02/中的例子: 1. 进入登录页面,登陆一个用户。

2. 登录成功既看到已登录的用户名,和当前的在线用户列表。

3. 再登录一个用户.

4. 然后就可以看到在线用户列表增加了,可以看到里面包含上次登录的用户和当前登录的用户。

这时,如果第一个用户刷新页面,也会看到在线用户列表中变成两个人。

5. 现在任何一个用户点击注销,将返回登录页面。另一个用户刷新页面会发现在线用户列表减少了。

让我们从登录页面index.jsp开始,复习一下目前学到的知识。 index.jsp中显示的是用户登录表单,为了显示index.jsp中包含的中文,需要加上<%@ page contentType=\charset=gb2312\,这里使用的文件编码是默认的gb2312。

在这个form里我们可以输入一个username的值,提交的url是login.jsp,使用post方法是为了更简单的解决中文问题。在填写了用户名之后,点击登录按钮,将数据提交到login.jsp。

login.jsp中进行的是对用户名的操作,包括获得请求中的用户名,将用户名添加到session和在线用户列表中。

<%@ page import=\%> <% request.setCharacterEncoding(\); // 取得登录的用户名 String username = request.getParameter(\); // 把用户名保存进session session.setAttribute(\, username); // 把用户名放入在线列表 List onlineUserList = (List) application.getAttribute(\); // 第一次使用前,需要初始化 if (onlineUserList == null) { onlineUserList = new ArrayList(); application.setAttribute(\, onlineUserList); } onlineUserList.add(username); // 成功 response.sendRedirect(\); %> 中文编码设置和获得请求参数都已经熟识了。在获得在线用户列表时,先获得application中的onlineUserList,强制转换成List类型。如果onlineUserList并不存在,我们还需要先对它做初始化,并添加到application里。这时有一个小技巧,因为onlineUserList已经放在application中了,将username添加进去后,不必再使用setAttribute()也可以达到修改在下用户列表的效果。

因为此处用到的List和ArrayList都是定义在java.util包内的工具类,如果不希望写成全类名java.util.List, java.util.ArrayList的形式,就需要使用<%@ page import=\做声明,当然也可以写成<%@ page

本文来源:https://www.bwwdw.com/article/m1r2.html

Top