jsp 知识点总结
JSP 入门案例(计算器的实现)
对于jsp 学习的一些总结
1.使用Dreamweaver 搭建网页
计算器 |
|
| 第一个数字 | |
| 符号 |
+
- * / |
| 第二个数字 | |
<form id="form1" name="form1" method="post" action="index.jsp?action=Do "> //注意form 调单后面的acton 标签,其Do会成为action的参数被提交,验证时候,名为acton.值为Do
<table width="335" height="309" border="1" align="center">
<tr>
<td colspan="2"><h1 align="center">计算器</h1></td>
</tr>
<tr>
<td width="113">第一个数字</td>
<td width="210">
<input name="firstNumber" type="text" id="textfield" size="30" /></td>
</tr>
<tr>
<td>符号</td>
<td><input type="radio" name="radio" id="radio" value="1" />
<label for="radio">+
<input type="radio" name="radio" id="radio2" value="2" />
-</label>
<input type="radio" name="radio" id="radio3" value="3" />
<label for="radio3">*</label>
<input type="radio" name="radio" id="radio4" value="4" />
<label for="radio4">/</label>
</td>
</tr>
<tr>
<td>第二个数字</td>
<td><input name="secondNumber" type="text" id="textfield2" size="30" /></td>
</tr>
<tr>
<td colspan="2"><div align="center">
<input type="submit" name="button" id="button" value="提交" />
<input type="reset" name="button2" id="button2" value="重置" />
</div></td>
</tr>
</table>
</form>
2.使用JSP 获取参数并处理表单
(<jsp:useBean id="c" scope="page" class="com.yangtao.Calculate"></jsp:useBean>)
//jsp:useBean 对java代码的获取
scope 标签:作用于整个页面
ID:给java类起一个对象名字
class:java字节码文件的位置
<jsp:useBean id="c" scope="page" class="com.yangtao.Calculate"></jsp:useBean>
<jsp:useBean id="d" scope="page" class="com.yangtao.Opertate"></jsp:useBean>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
//验证表单
如果request对象的获取的action参数的值是"Do",则对起处理
if("Do".equals(request.getParameter("action"))){
//获取参数
String firstString=request.getParameter("firstNumber");
String secondString=request.getParameter("secondNumber");
String operString=request.getParameter("radio");
//复制给Bean
c.setFirstNumber(Double.parseDouble( firstString));
c.setOprateCharechter(Integer.parseInt( operString));
c.setSecondNumber(Double.parseDouble(secondString));
//计算结果
double resultData=d.doCalculator(c);
out.print("计算结果是:\t"+resultData);
}
3.java代码对计算逻辑的实现
package com.yangtao;
/**
* 这是计算机实体类
* @author yangtao
*
*/
public class Calculate {
/**
* firstNumber 这个是第一个计算参数
*/
private double firstNumber;
private double secondNumber;
private int oprateCharechter;
/**
* 第一个参数的GET方法
* @return firstNumber
*/
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 int getOprateCharechter() {
return oprateCharechter;
}
public void setOprateCharechter(int oprateCharechter) {
this.oprateCharechter = oprateCharechter;
}
}
package com.yangtao;
/**
* 这是计算类
* @author lenovo
*
*/
public class Opertate {
/**
* 这是计算机类 的变量
*/
private Calculate calc;
/**
* 这是是计算方法
*/
public double doCalculator( Calculate calc){
double first=calc.getFirstNumber();
double second=calc.getSecondNumber();
int opion = calc.getOprateCharechter();
double resulrValues=0.0;
switch (opion) {
case 1:
resulrValues= first+second;
break;
case 2:
resulrValues= first-second;
break;
case 3:
resulrValues= first*second;
break;
case 4:
resulrValues= first/second;
break;
default:
break;
}
return resulrValues;
}
}
4.<%@ include file="MyJsp.jsp" %>
jsp 知识点总结的更多相关文章
- JSP知识点大纲图
这是我整理出来的JSP知识点大纲图,具体的内容都可以在我的博文中找到-.
- JSP知识点汇总
有几种方法可以实现服务器内部跳转? 使用request对象提供的方法:request.getRequestDispatcher(String URI).forward(ServletRequest r ...
- JSP知识点大致介绍1
解释:当jsp写好,运行服务器,还没有发出请求(写网址按Enter),Tomcat的work下是没有字节码文件的.当写网址:localhost:8888/xxxx/index.jsp按Enter,运行 ...
- JSP知识点总结
一.jsp静态包含和动态包含的区别 在学习request对象的时候,我们曾经使用过request.getRequestDispatcher(String url).include(request,re ...
- JSP知识点
1.九大内置对象: request HttpServletRequest类的实例 response HttpServletResponse类的实例 out PrintWriter类的实例,用于把结果输 ...
- jsp 知识点
在JSP中很多对象是不需要创建的,如out.session等.它们可以直接使用. <% out.println(session.getId()); %>
- JSP知识点回顾
- Servlet&JSP中的知识点
先sun提出的是Servlet体系,这个体系使得使用JAVA的程序员也能开发基于B/S架构的WEB应用程序,使用Servlet类将HTTP请求和响应封装在标准JAVA类中来实现各种WEB应用方案.随着 ...
- JSP面试题都在这里
下面是我整理下来的JSP知识点: 图上的知识点都可以在我其他的文章内找到相应内容. JSP常见面试题 jsp静态包含和动态包含的区别 jsp静态包含和动态包含的区别 在讲解request对象的时候,我 ...
随机推荐
- @codeforces - 1096G@ Lucky Tickets
目录 @description@ @solution@ @accepted code@ @details@ @description@ 已知一个数(允许前导零)有 n 位(n 为偶数),并知道组成这个 ...
- Strange Way to Express Integers
I. Strange Way to Express Integers 题目描述 原题来自:POJ 2891 给定 2n2n2n 个正整数 a1,a2,⋯,ana_1,a_2,\cdots ,a_na ...
- 关于python 中的__future__模块
Python的每个新版本都会增加一些新的功能,或者对原来的功能作一些改动.有些改动是不兼容旧版本的,也就是在当前版本运行正常的代码,到下一个版本运行就可能不正常了. 具体说来就是,某个版本中出现了某个 ...
- iptables 累计(Accounting)
对於每一条规则,核心各自设置两个专属的计数器,用于累计符合该条件的封包数,以及这些封包的总位元组数.这两项资讯可用於统计网路用量. 举例来說,假设有一台Internet闸道器路,eth0接内部网络,e ...
- 学习HTML<audio>标签
首先来看下这个例子: <audio controls autoplay="autoplay"> <source src="horse.ogg" ...
- Project Euler Problem 14-Longest Collatz sequence
记忆化搜索来一发.没想到中间会爆int #include <bits/stdc++.h> using namespace std; const int MAXN = 1000000; in ...
- hdu 1434 幸福列车 (Leftist Tree)
Problem - 1434 网上题解是普通的堆合并,都是用优先队列直接做的.可是正解的堆合并应该是用左偏堆或者斐波那契堆的吧,不然O(X * N ^ 2)的复杂度应该是过不了的.斐波那契堆的实现相对 ...
- 2019-8-31-PowerShell-通过-WMI-获取系统服务
title author date CreateTime categories PowerShell 通过 WMI 获取系统服务 lindexi 2019-08-31 16:55:58 +0800 2 ...
- 【Learning Notes】线性链条件随机场(CRF)原理及实现
1. 概述条件随机场(Conditional Random Field, CRF)是概率图模型(Probabilistic Graphical Model)与区分性分类( Discriminative ...
- 判断当前所使用python的版本和来源
import sys print(sys.prefix) print(sys.executable) 怎样判断当前py文件在什么版本的python环境下运行 import sys print(sys. ...