您的位置 首页 > 天生丽质

【jsp是什么意思】小白教你做网站 JSP 终结篇

昨天六一儿童节正好遇到了大四毕业朝圣。很多前辈拍毕业照,穿和服哈哈(真的很想做表情,可惜。这个功能头条需要改进啊!唉!该去的终究要去,开始谈正事。

昨天告诉大家准备好了。请看这篇文章。请先读一下。小白先给你看网站的ASP篇。

今天我将向大家说明JSP后台处理的详细过程。

运营的同学应该都知道网站从这里开始运营。我们从这里开始谈。

首先单击顶部的绿色按钮,打开配置了eclipse的Apache服务器,现在可以在名为S的Java程序中运行此程序。两种方法(函数)分别以不同的方式处理发送的请求。因为这是第一次运行,所以默认情况下,运行doGet的方法是下图中的蓝色区域。

其中,这四行语句用于获取会话参数

什么是会话?这里要好好解释一下

JSP有四个内置对象

可以这样理解这四件事。例如,登录后要写下用户名。欢迎界面怎么知道你是谁?有很多传递生命周期所需的重要信息。

其中应用程序的生命周期最长。它会活到服务器关闭的时候。除非你的服务器关闭,否则它不会死。你说你是变态?

以上另外两幅画的详细说明不难理解。会话在当前会话中有效。这意味着只要浏览器没有关闭,它就一直活着(如果服务器没有关闭)。现在你会认为这是抽象的。后面会慢慢理解的。

程序继续将上面分别名为N和N的session分配给字符串类型的N和N。

然后,如果n不是null(null表示不存在),则跳转到Yong页面,转到WebContent文件夹中的此页面,退出程序。

如果没有 n,则继续判断是否有n。如果功能相似,请跳到ok.jsp关闭程序。如果两者都不存在,请执行以下两句。创建名为pifu的会话内容是c以下句子。跳到login.jsp

好了,现在请从整体上说明这个N的内容。事实上,最终用户成功登录后保存的用户名N的内容是成功保存管理员登录的用户名。Yong是最终用户的欢迎界面。ok是管理者的欢迎界面,带领皮肤乖乖登录。这种皮肤是CSS的路径(CSS是管子外部的微管)。每一页都没有通过获得pifu这个session得到的默认值。如果你不在这个界面上运行,就会出现这种情况。

是不是看不到?事实上,有时候百度也会出现这种情况。再说皮肤也是这个样子。

在这里接收皮肤。(登录后每页都有。)

第一次打开就登录不了,乖乖登上了

录吧!

这里为了解释代码 所以从注册开始

你发现有的信息不填或格式不对是不能注册的 这是前台JavaScript做的 是一层保护 因为不能什么东西都往数据库里填吧! 这里不再详述 简单解释一下 这是一层很弱的保护 因为你可以在浏览器的设置里禁用JavaScript

但是你禁用以后 你会发现你连qq空间都进不去了

言归正传 你看login.jsp源代码第65行 刚才你点的那个注册按钮其实是一个超链接 一点就跳转到z了

再来到z 别看内容很多 一折叠就剩这一点

这是一个表单 蓝色部分action的意思是提交后交给Shouye(就是咱们一开始执行的那个) 后边method是提交方式是post (一会你就明白了)

每个控件都有一个name 下边这一部分:第一行type表示类型 hidden是隐藏域 (就是页面里不显示但存有数据)第一行的意思是这是一个隐藏域 名字叫key 内容是insert 第二行:submit是提交按钮 点击后会把表单里的所以name和对应的value都提交的表单头里的位置(这个界面是提交到Shouye里的)

第三行:reset是重置按钮 点击后会把表单里已填的内容全部清空回到初始状态

第四行:还是一个超链接 还是跳转到Shouye 因为没有登录session不存在 还会跳的login.jsp

这里点击注册后会提交到Shouye 所以我们再回到Shouye来看 因为上边写的是post提交方式

所以会执行doPost这个方法

你会发现里边有两个if 其实就相当于两把锁 然后通过刚才传过来的那个key(隐藏域里的)相当于用钥匙来试锁 刚才我们传过来那个key的内容是insert 所以会执行下图所示区域的代码

就是先把传过来的值都保存下来 然后判断其中三个(id name和pass)是不是空的 如果不是空的执行下边的代码 你会发现会调用Userbean里的insert_xinxi和insert方法 要用这些方法就得导入这个类

开头已经导入了

然后我们去看lr.bean.Userbean 就在这里

我们之前说过 这个文件夹下的程序是用来连接数据库来操作数据的

这四句就是要连接数据库的信息 都是固定的 其中第一句在这里

第二句在这里 唉 我找不到了... 不过不要紧你可以去百度

为什么要讲这两个呢 直接记住不就完了? 因为用的数据库软件可能不一样 对应的这两条信息也不一样 而且之前导入那个jar包也是 例如:如果用的是sql server 就需要导入其他包 这四条信息也要换

回到程序继续讲 u和p分别对应你MySQL里的连接名和密码 在这里

继续看下边 你会发现有很多方法 折叠后还有这么多

我们第一个调用的是这个方法

上边是传来的参数 这两句就是我们之前定义的连接信息

这是一条sql语句 意思就是向xinxi这个表里插入信息 有人会问后边一堆问号什么意思?

下边给出了 传给第一个“?” name 第二个是id 以此类推...

然后 执行sql语句 上边定义i初始为0 但是如果执行成功 i 的值肯定大于0 然后返回 i的值

下一个方法也是类似 只是参数和名字不一样 这里不再详述

然后我们继续看Shouye这里

这下应该明白了吧 i和j就是刚才调用那两个方法的返回值 如果都大于0就说明执行sql语句成功了吧

然后跳转到z 这个界面里就一句 一个超链接 点击后跳转到 Userservlet

其实这里应该改成让它跳转到Shouye的 因为你会发现Userservlet里又是一大堆锁 当它没有获取到session的时候没有默认跳转到login.jsp(就是登录界面)那里 但是我们执行的时候 确实又跳转到了登录界面 这是什么原因呢? 这是我们的过滤器就该闪亮登场了

我们之前说的 filter里放的是过滤器 当时都不知道是干什么用的

打开叫Three的过滤器 你发现它也是一个Java程序

这一句表示 哪些页面需要过滤

Userservlet在里边吧 然后内容还是相似 如果N和n都不存在 就跳转到login

这个问题 其实不算个问题 因为那个Shouye是我后来加的 有的地方没改 当时我测试的时候也没发现

直到今天给你们细讲的时候才发现 哈哈!

这四个过滤器 建议大家好好看看

第一个是用来转码的 否则汉字会出现乱码

第二个控制 只有session N存在时才能访问这些界面(就是管理员登录)

第三个刚才看过了 是用户和管理员通用的页面

第四个就是只有用户才能访问的页面

好 注册我们讲完了 下面来讲登录 还回到login.jsp页面

你会发现 又是一个表单 提交到Shouye 提交方式是post 看到这个 你们应该马上就知道了 应该去执行Shouye里的doPost方法 登录按钮是submit 隐藏域里藏的钥匙key是select

好了 这就清楚了 来看Shouye吧 一看提交方式是post 钥匙是select 所以应该开这把锁吧

开开之后 还是老一套 把表单里的内容取出来 判断是不是空的 然后调用Userbean里的select方法

来到Userbean 你会看到两个select方法 调用那个呢? 看参数 这里调用的是两个参数的 而且返回值也不一样 就是这个方法

还是老一套 连接数据库 传个参数 执行sql语句 都一样 不过这里注意

执行sql语句后它返回了一个数组 它取了数组里的permissin这个字段

因为sql语句是在user表里做查询 找到name=传来的name pass=传来的pass 这些字段组成一个数组rs 因为user里只有三个字段 所以这里rs数组的内容是['name' 'pass' 'permissin']

通俗的说 就是去表里查名字叫? 密码是?? (?就是传来的name ??就是传来的pass) 为什么要指定密码呢 直接查名字不就行了? 因为这是登录啊! 大哥! 不查密码怎么知道你密码对不对 就跟别人知道你QQ好就能上你QQ 那还了得? 所以查到了说明用户名对了 密码也对了 查不到说明有一个错了 然后把第三个字段的值(就是身份值)返回

继续看Shouye的那把锁

首先判断传回来那个身份是不是空的 如果是 说明没查到结果 那还说什么 直接走你 登录失败;

如果不是空的说明查到了 有这个人 而且密码是对的 再来判断是管理员啊还是用户啊 如果是管理员 就创建一个session N(注意!session就是从这里创建的)里边放你的名字 跳转到ok页面 如果不是管理员 那就是用户 创建个session n 放入你的名字 去yonghuok页面 现在大家应该明白 一开始获取的session N和n是从哪来的了吧!

额 讲了这么多 不知道你们理解没有 其实讲完第一个注册功能 你们就应该能明白整个流程了 你会发现注册和登录有很多地方是一样一样的 无非一个是插入 一个查找

后面的功能实现方法都是类似的 大家举一反三 按照这个流程走一遍就都明白了

咱们具体来两个例子

来看ok页面

一看到<a> 就知道是个超链接 跳转到Newservlet页面 ?后边是传的参数 key就是上边说的钥匙 select是key的值

这里你们记住 只要不是form表单 并且通过post提交的 都是要调用doGet方法的!!! 就是这个

好了 该讲的都讲完了 还是看大家的理解了 反正这个流程就是重复重复再重复的 再讲也没有什么什么意义了 JSP的课程就讲到这里了 后边可能会有续集 因为有些同学可能有地方不明白 不过这也得看你们的回复来决定了...

还有就是 下面我会开始讲ASP.NET 跟JSP类似 只不过它是用C#做后台处理的 昨天说了

然后它比JSP更简单 所有东西都是通过鼠标点击拖动的 几乎不用怎么写代码 (但是ASP貌似没多少人用 不知道为什么)

这里先给你们 ASP的开发工具吧

下载好后执行这个程序安装

这是微软的开发工具 自带一大堆插件 没办法谁让人家是微软呢 系统都是人家的...

总之 建议大家先学习JSP 学会之后你会发现其他的ASP啊 PHP啊什么的都不是事

这里先给大家透漏一下后续课程吧 学完ASP后 我们将会开始学习PHP 这是目前比较火的语言 一门独立的网站编程语言 有集成的开发环境 从我学的课程学时中也能看出来对它的重视!

篇幅较长 一天内完成 有个别错字请见谅!

今天就说到这吧 有问题记得给我留言哦! 再见!!!

关于作者: admin

无忧经验小编鲁达,内容侵删请Email至wohenlihai#qq.com(#改为@)

热门推荐