完成上图:
建一个servlet,
BmiService.java
package service;
/**
* 模型: 封装业务逻辑
*
*/
public class BmiService {
/**
* 依据身高体重计算bmi值,返回身体状况
*/
public String bmi(double height,
double weight){
String status = "体重正常";
//计算bmi指数
double bmi =
weight / height / height;
//依据bmi指数,判断用户的身体状况
if(bmi < 19){
status = "体重过轻";
}
if(bmi > 25){
status = "体重过重";
}
return status;
}
}
在建一个jsp文件;
bmi.jsp
<%@ page contentType="text/html; charset=utf-8"
pageEncoding="utf-8"%>
<html>
<head>
</head>
<body style="font-size:30px;">
<form action="bmi.do" method="post">
<fieldset>
<legend>计算bmi指数</legend>
身高(米):<input name="height"/><br/>
体重(公斤):<input name="weight"/><br/>
<input type="submit" value="确定"/>
</fieldset>
</form>
</body>
</html>
计算BMI指数.
下是总结:
# 1. Servlet
## (1)Servlet基础1)什么是Servlet?
2)如何写一个Servlet?
3)Servlet是如何运行的?
4)http协议相关知识(了解)
a.什么是http协议?
b.特点
c.请求数据包与响应数据包的结构
d.消息头,状态码
## (2)Servlet核心
1)如何获取请求参数值?
2)表单包含有中文参数值,如何处理?
3)Servlet输出中文,要注意什么?
4)转发与重定向
a.什么是重定向?
b.如何重定向?
c.重定向的特点?
d.什么是转发?
e.如何转发?
f.转发的特点
g.转发与重定向的区别?
5)ServletContext
a.什么是Servlet上下文?
b.特点
c.如何获得Servlet上下文?
d.作用
6)线程安全问题
a.为什么说Servlet会有线程安全问题?
b.如何解决?
7)容器如何处理请求资源路径?
8)如何让一个Servlet处理多种请求?
## (3)状态管理
## (4)数据库访问
## (5)过滤器与监听器
## (6)典型案例
# 2. jsp
# 3. MVC
## (3)MVC的优点
a.方便测试。
比如,将业务逻辑写在java类里面,可以直接
测试,如果将业务逻辑写在Servlet里面,则需要部署
之后才能测试。
b.模型和视图发生修改,不会彼此影响,方便
代码的维护。
c.方便分工协作。
注:使用MVC会增加代码量,增加软件设计的难度,
相应增加软件开发的成本,所以,只有一定规模的软件,才需要使用MVC。