昨天六一儿童节正好碰上大四毕业巡礼 不少学姐拍毕业照 穿和服 哈哈 (真想加个表情 可惜没有... 这个功能头条要改进啊!) 唉! 该走的终究会走 开始聊正事
昨天告诉大家要做好准备了 看本文章请先阅读这里:小白教你做网站之ASP篇 抢先看
今天给大家讲解JSP后台处理的详细过程 直接上图
运行过的同学应该都知道 网站是从这里开始运行的 我们就从这里开始讲
JSP有以下四个内置对象
其中application的生命周期最长 它会一直活到服务器关闭 只要你服务器不关它就不会死 你说变态不?
其他两个 上图有详细的解释 都不难理解 而session在当前会话有效 意思就是只要你浏览器不关 它就一直活着 (前提服务器不关) 现在你们肯定觉得很抽象 后面你们就会慢慢明白了
程序继续执行 上边分别把叫n和N的session赋值给字符串类型的n和N
好现在整体解释一下 这个n的内容其实就是普通用户登录成功后保存的用户名 N的内容就是管理员登录成功保存的用户名 yonghuok.jsp就是普通用户的欢迎界面 ok是管理员的欢迎界面 意思就是:上来先看你名字是用n还是N带过来的 如果你是n带过来的 好 你是用户 转到用户界面 N带来的就是管理员 什么都没有就是未登录 领个皮肤乖乖去登录 走你 这个皮肤就是CSS的路径(CSS是管外部美观的) 每个页面都是靠获取名叫pifu的这个session来获取的 默认是没有的 如果你不从这个界面开始执行就会出现这种情况
是在这里接收皮肤的(每个登录后的页面都有)
首次打开就是未登录 所以乖乖去登录吧!
这里为了解释代码 所以从注册开始
这是一个表单 蓝色部分action的意思是提交后交给Shouye(就是咱们一开始执行的那个) 后边method是提交方式是post (一会你就明白了)
每个控件都有一个name 下边这一部分:第一行type表示类型 hidden是隐藏域 (就是页面里不显示但存有数据)第一行的意思是这是一个隐藏域 名字叫key 内容是insert
第三行:reset是重置按钮 点击后会把表单里已填的内容全部清空回到初始状态
第四行:还是一个超链接 还是跳转到Shouye 因为没有登录session不存在 还会跳的login.jsp
这里点击注册后会提交到Shouye 所以我们再回到Shouye来看 因为上边写的是post提交方式
所以会执行doPost这个方法
你会发现里边有两个if 其实就相当于两把锁 然后通过刚才传过来的那个key(隐藏域里的)相当于用钥匙来试锁 刚才我们传过来那个key的内容是insert 所以会执行下图所示区域的代码
开头已经导入了
然后我们去看lr.bean.Userbean 就在这里
第二句在这里 唉 我找不到了... 不过不要紧你可以去百度
为什么要讲这两个呢 直接记住不就完了? 因为用的数据库软件可能不一样 对应的这两条信息也不一样 而且之前导入那个jar包也是 例如:如果用的是sql server 就需要导入其他包 这四条信息也要换
回到程序继续讲 u和p分别对应你MySQL里的连接名和密码 在这里
然后跳转到zhuceok.jsp 这个界面里就一句 一个超链接 点击后跳转到 Userservlet
打开叫Three的过滤器 你发现它也是一个Java程序
这一句表示 哪些页面需要过滤
直到今天给你们细讲的时候才发现 哈哈!
这四个过滤器 建议大家好好看看
第二个控制 只有session N存在时才能访问这些界面(就是管理员登录)
第三个刚才看过了 是用户和管理员通用的页面
第四个就是只有用户才能访问的页面
好 注册我们讲完了 下面来讲登录 还回到login.jsp页面
好了 这就清楚了 来看Shouye吧 一看提交方式是post 钥匙是select 所以应该开这把锁吧
来到Userbean 你会看到两个select方法 调用那个呢? 看参数 这里调用的是两个参数的 而且返回值也不一样 就是这个方法
因为sql语句是在user表里做查询 找到name=传来的name pass=传来的pass 这些字段组成一个数组rs 因为user里只有三个字段 所以这里rs数组的内容是['name' 'pass' 'permissin']
继续看Shouye的那把锁
如果不是空的说明查到了 有这个人 而且密码是对的 再来判断是管理员啊还是用户啊 如果是管理员 就创建一个session N(注意!session就是从这里创建的)里边放你的名字 跳转到ok页面 如果不是管理员 那就是用户 创建个session n 放入你的名字 去yonghuok页面 现在大家应该明白 一开始获取的session N和n是从哪来的了吧!
额 讲了这么多 不知道你们理解没有 其实讲完第一个注册功能 你们就应该能明白整个流程了 你会发现注册和登录有很多地方是一样一样的 无非一个是插入 一个查找
后面的功能实现方法都是类似的 大家举一反三 按照这个流程走一遍就都明白了
咱们具体来两个例子
来看ok页面
这里你们记住 只要不是form表单 并且通过post提交的 都是要调用doGet方法的!!! 就是这个
好了 该讲的都讲完了 还是看大家的理解了 反正这个流程就是重复重复再重复的 再讲也没有什么什么意义了 JSP的课程就讲到这里了 后边可能会有续集 因为有些同学可能有地方不明白 不过这也得看你们的回复来决定了...
还有就是 下面我会开始讲ASP.NET 跟JSP类似 只不过它是用C#做后台处理的 昨天说了
然后它比JSP更简单 所有东西都是通过鼠标点击拖动的 几乎不用怎么写代码 (但是ASP貌似没多少人用 不知道为什么)
这里先给你们 ASP的开发工具吧 http://pan.baidu.com/s/1gfx0Rxp
下载好后执行这个程序安装
总之 建议大家先学习JSP 学会之后你会发现其他的ASP啊 PHP啊什么的都不是事
这里先给大家透漏一下后续课程吧 学完ASP后 我们将会开始学习PHP 这是目前比较火的语言 一门独立的网站编程语言 有集成的开发环境 从我学的课程学时中也能看出来对它的重视!
篇幅较长 一天内完成 有个别错字请见谅!
今天就说到这吧 有问题记得给我留言哦! 再见!!!
联系客服