web开发的两种设计模式
Sun公司针对web开发提供了两种模式
Model1: jsp+javabean 只适合小型应用
做一个简单的网页计算器
Model2: servlet+jsp+javabean mvc
一、jsp+javabean设计模式(只适用于小型应用)
这个是sun公司针对web开发的一种模式,只适用于小型的应用,这里简单的介绍一下,以后开发的时候用的不多,经常用MVC设计模式,但是这个知识点还是要知道的,
写一个web版的网页计算器,来掌握这块的知识吧:
此处的重点是:如果从javabean中取出数据。大家要注意一下
1.jsp显示页面
<%@page import="cn.itcast.calculator.domain.Calculator"%> <%@ page language="java" import="java.util.*" pageEncoding="utf-8"%> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <title>web计算器</title> <meta http-equiv="pragma" content="no-cache"> <meta http-equiv="cache-control" content="no-cache"> <meta http-equiv="expires" content="0"> <meta http-equiv="keywords" content="keyword1,keyword2,keyword3"> <meta http-equiv="description" content="This is my page"> <!-- <link rel="stylesheet" type="text/css" href="styles.css"> --> </head> <body style="text-align: center;"> <%-- 实例化bean --%> <jsp:useBean id="calculator" class="cn.itcast.calculator.domain.Calculator"></jsp:useBean> <%-- 获得请求参数为属性赋值 --%> <jsp:setProperty property="*" name="calculator"/> <%-- 计算 --%> <% Calculator bean = (Calculator) pageContext.getAttribute("calculator"); bean.calculate(); %> <form action="" method="post"> <table border="1" width="500px"> <caption>简单计算器</caption> <tr> <td>第一个数</td> <td> <input type="text" name="firstNumber" /> </td> </tr> <tr> <td>第二个数</td> <td> <input type="text" name="secondNumber" /> </td> </tr> <tr> <td>运算符</td> <td> <select name="operator"> <option value="+">+</option> <option value="-">-</option> <option value="*">*</option> <option value="/">/</option> </select> </td> </tr> <tr> <td> <input type="submit" value="计算" /> </td> <td> 运算结果为:<jsp:getProperty property="result" name="calculator"/> </td> </tr> </table> </form> </body> </html>2.写一个Calculator的javabean
package cn.itcast.calculator.domain; public class Calculator { private double firstNumber; private double secondNumber; private char operator; private double result; public double getFirstNumber() { return firstNumber; } public void setFirstNumber(double firstNumber) { this.firstNumber = firstNumber; } public double getSecondNumber() { return secondNumber; } public void setSecondNumber(double secondNumber) { this.secondNumber = secondNumber; } public char getOperator() { return operator; } public void setOperator(char operator) { this.operator = operator; } public double getResult() { return result; } public void setResult(double result) { this.result = result; } // 计算 public void calculate() { switch(this.operator) { case '+' : this.result = this.firstNumber + this.secondNumber; break; case '-' : this.result = this.firstNumber - this.secondNumber; break; case '*' : this.result = this.firstNumber * this.secondNumber; break; case '/' : { if(this.secondNumber==0) { int i = 1/0; } this.result = this.firstNumber / this.secondNumber; break; } } } }
二、MVC设计模式
1)MVC web开发中的一种设计模式
m:model
v:view
c:controller
servlet+jsp+javabean mvc
使用MVC时需要注意的是:要严格做MVC设计模式的话,就必须要用请求转发,把jsp页面要藏在WEB-INF里面。
要使用请求转发做数据,请求重定向不行,因为如果用请求重定向的话,假如用户收藏到收藏夹里面,那么再打开就访问不到了。
结论:用户要访问必须先访问servlet,坚决杜绝用户访问show.jsp的显示页面,放在webroot下面太暴露,我们经常把它放到web-inf里面
如果,这篇博客帮您解决了问题,不妨点击一下右下角的【推荐】。如果,您希望更容易地发现我的新博客,不妨点击一下【加关注】。因为,我的热情需要您的肯定和支持!感谢您的阅读,如果文章中有错误或者您有什么好的建议,也欢迎您直接留言批评指教。Thanks,friends! |