JSP学习第二天
2016-10-15 13:49
232 查看
JSP学习第二天PPT演示友情链接
JSP开发的几代技术:
纯代码演示—文字讲解学习请看另一篇博客详解
(1)第一代JSP开发技术1:纯JSP技术
主页面(index.jsp)
登录页面
验证页面
效果图:
(2)第一代JSP开发技术2(model1):JSP+EJB技术–(EJB:企业级JavaBean技术)
登录页面
验证页面
登陆成功后的页面
效果图:
其他图见上面的第一版本一样的效果!
JavaBean(值对象)
效果图:
(3)(有待学习)第二代JSP开发技术(model2):MVC框架=JSP+JaveBean+Servlet技术
JSP开发的几代技术:
纯代码演示—文字讲解学习请看另一篇博客详解
(1)第一代JSP开发技术1:纯JSP技术
主页面(index.jsp)
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%> <% String path = request.getContextPath(); %> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <title>My JSP 'index.jsp' starting page</title> </head> <body> <h2>JSP开发的几代技术</h2> <a href="<%=path %>/jsps/Login1.jsp">第一代JSP开发技术1:纯JSP技术</a><br/><br/><br/> <a href="<%=path %>/jsps/Login2.jsp">第一代JSP开发技术2(model1):JSP+EJB技术</a><br/><br/><br/> <a href="jsps/login3.jsp">第二代JSP开发技术(model2):MVC框架=JSP+JaveBean+Servlet技术</a><br/> <h2>以下演示jsp中bean标记的使用</h2> 1.申明JavaBean对象必须使用完整类名 <jsp:useBean id="u" class="cn.hncu.ejb.User" scope="session" ></jsp:useBean> <!-- 上一句相当于 User u = new User(); --> <% u.setName("成吉思汗"); out.println(u.getName()+"<br/>"); %> 2.设置JavaBean属性<br/> <jsp:setProperty property="age" name="u" value="21" /> 3.访问JavaBean属性<br/> <jsp:getProperty property="name" name="u"/> <jsp:getProperty property="age" name="u"/><br/> 使用"jsp:setProperty"标记为birthday(复杂类型)设置属性:<br/> <!--注意,下面的属性名不要用"birth",因为底层是根据下面property中的取值生成对应的setter-getter方式名,再到JavaBean中调用对应方式。 --> <!-- 设置属性值 --> <jsp:setProperty property="birthday" name="u" value="2016-10-15"/> <!-- 拿到属性值 --> <jsp:getProperty property="birthday" name="u"/> <%out.println(u); %><br/> 4.通过Parameter属性给JavaBean赋值 <jsp:useBean id="u2" class="cn.hncu.ejb.User" scope="session" ></jsp:useBean> <form action="<%=path %>/jsps/Ope.jsp" method="post" > 姓名:<input type="text" name="name" /><br/> Name:<input type="text" name="nm" /><br/> 性别:<input type="radio" value="1" name="sex" checked="checked" />男 <input type="radio" value="0" name="sex" />女<br/> 年龄:<input type="text" name="age" /><br/> <input type="submit" value="登录"> </form> </body> </html>
登录页面
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%> <% String path = request.getContextPath(); %> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <title>JSP登录页面</title> </head> <body> <!-- 登录页面 --> <form action="<%=path %>/jsps/LoginServlet.jsp" method="post"> 姓名:<input type="text" name="name" /><br/> <input type="submit" value="登录"/> </form> </body> </html>
验证页面
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%> <% String path = request.getContextPath(); %> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <title>JSP验证页面</title> </head> <body> <h2>登录校验页面</h2> <% request.setCharacterEncoding("utf-8");//设置编码格式 response.setContentType("text/html;charset=utf-8"); //接收来自前台页面的参数进行解析 String name = request.getParameter("name"); //在这里我简化了校验步骤---只要是以"hncu"开头的我就认为登录成功 if(name!=null && !name.trim().equals("")){ if(name.startsWith("hncu")){ //out.println("恭喜您!"+name+",登录成功....接下来请进行操作吧!"); //重定向转到另外的页面时传参有两种:1)直接在路径后面添加需要传的参数--这种不建议使用,灵活性不高 // 2)通过session容器----这种必须掌握 //用过重定向来转到另外的操作页面 session.setAttribute("user", name); response.sendRedirect(path+"/jsps/Suc.jsp"); }else{ out.println("很遗憾!登录失败,请重新核对用户名再输入......"); } } %> </body> </html>
效果图:
(2)第一代JSP开发技术2(model1):JSP+EJB技术–(EJB:企业级JavaBean技术)
登录页面
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%> <% String path = request.getContextPath(); %> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <title>JSP--JavaBean技术登录页面</title> </head&g e3dc t; <body> <form action="<%=path%>/jsps/Login2Servlet.jsp" method="post"> 姓名:<input type="text" name="name" /><br/> <input type="submit" value="登录" /> </form> </body> </html>
验证页面
<%@page import="cn.hncu.ejb.User" %><!-- 导包!!!!! --> <%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%> <% String path = request.getContextPath(); %> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <title>My JSP 'Login2Servlet.jsp' starting page</title> </head> <body> <!-- 处理表单的JSP可以用单独的JSP来实现 --> <% request.setCharacterEncoding("utf-8"); response.setContentType("text/html;charset=utf-8"); String name = request.getParameter("name"); User u = new User(); u.setName(name); //调用业务逻辑层 User user = u.login(); //根据逻辑层的返回结果导向不同的结果页面 if(user!=null){ session.setAttribute("user", user); response.sendRedirect(path+"/jsps/Suc.jsp");//转向成功的页面 }else{ out.println("很遗憾!登录失败......"); } %> </body> </html>
登陆成功后的页面
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%> <% String path = request.getContextPath(); %> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <title>My JSP 'Suc.jsp' starting page</title> </head> <body> <h1>欢迎你!</h1> <%=session.getAttribute("user")%><br/> <h3>进行其他操作的页面----在这里你可以选择已下操作(当然这里我只是形式一下)</h3> <ul>我的购物车</ul> <ul>我的消费记录</ul> <ul>代付款商品</ul> <ul>已购买的商品</ul> <ul>所有的消费记录</ul> </body> </html>
效果图:
其他图见上面的第一版本一样的效果!
JavaBean(值对象)
package cn.hncu.ejb; import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.Date; public class User { private String name; private String sex; private Integer age;//以后开发,基本数据类型尽量用包装类来声明---为以后使用框架做铺垫 private Date birthday;//出生年月 public String getName() { return name; } public void setName(String name) { this.name = name; } public String getSex() { return sex; } public void setSex(String sex) { this.sex = sex; } public Integer getAge() { return age; } public void setAge(Integer age) { this.age = age; } //使用jsp:setProperty和jsp:getProperty两个标记(处理的数组都是字符串)时,JavaBean中复杂类型的处理---进行字符串和复杂类型的格式转换 public String getBirthday() { SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); return sdf.format(this.birthday); } public void setBirthday(String strBirth) { //进行复杂类型和字符串类型的转换 Date d = null; SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); try { d = sdf.parse(strBirth);//解析之后返回一个Date形的值 } catch (ParseException e) { System.out.println("解析时异常!"); e.printStackTrace(); } this.birthday = d; } @Override public String toString() { return "User [name=" + name + ", sex=" + sex + ", age=" + age + "]"; } public User login(){ User u = new User(); if(this.getName().startsWith("hncu")){ u.setSex("男"); u.setAge(54); }else{ u = null; } return u; } }
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%> <% String path = request.getContextPath(); %> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <title>My JSP 'Ope.jsp' starting page</title> </head> <body> <% request.setCharacterEncoding("utf-8"); response.setContentType("text/html;charset=utf-8"); %> <!-- 利用请求表单上传的参数来设置bean中的属性 --> <jsp:setProperty property="name" name="u" param="nm" /> <jsp:setProperty property="sex" name="u" value="性别修改"/> ${u }<br/><br/> <!-- 自动装配bean: 把表单参数名与bean中属性名一一对应地进行读参且设置属性 --> <jsp:setProperty name="u2" property="*" /> ${u2} </body> </html>
效果图:
(3)(有待学习)第二代JSP开发技术(model2):MVC框架=JSP+JaveBean+Servlet技术
相关文章推荐
- (九)包含指令 (JSP学习第二天)
- JSP学习第二天--PPT演示
- 新年工作的第二天,学习jsp,因为这个项目要对jsp网站进行测试。
- 学习jsp第二天
- (八):错误页的设置 (JSP学习第二天)
- JSP学习笔记(五)-----JSP中使用JavaBean
- JSP学习笔记(九)-----JSP标签库
- JSP学习笔记(六)-----在多个JSP页面之间传递参数
- JSP学习经验总结(转)
- JSP学习经验总结(转)
- 第二周学习计划:继续学java入门,开始做些小jsp+java程序
- 如何开始学习JSP(转)
- JSP学习笔记(七)-----猜数字游戏
- Jsp 学习日记(2004-9-28 农历八月十五 晴)
- JSP学习笔记
- jsp基础学习资料
- JSP学习笔记(三)-----使用JSP处理用户注册和登陆
- JSP 学习笔记
- jsp基础学习资料
- jsp---学习笔记(五)核心技术-语法详解