我的第一个MVC程序
来源:互联网 发布:开票软件打不开结束 编辑:程序博客网 时间:2024/06/05 08:15
Servlet&JSP世界中的MVC:
模型(Servlet)—>包含具体的业务逻辑和状态。换句话说模型知道用什么规则来得到和更新状态。系统中只要这部分与数据库通信。
视图(JSP)—>负责表示方面。他从控制器得到模型的状态(不过不是直接得到;控制器会把模型数据放在视图能找到的一个地方,例如:request.setAttribute(“…”))。另外视图还要获得用户输入,并交给控制器。
控制器(普通Java类)—>从请求获得用户输入,并明确这些输入对模型有什么影响。告诉模型自行更新,并且让视图(JSP)能得到新的模型状态。
1.第一个表单页面的HTML form.html
<body><h1 align="center">Beer Recommendations JSP</h1><form method="post" action="../SelectBeer.do"> Select beer charateristics<p> Color: <select name="color" size="1"> <option value="light">light</option> <option value="amber">amber</option> <option value="brown">brown</option> <option value="dark">dark</option> </select> <br><br> <center> <input type="submit"/> </center></form></body>
2.部署和测试开始页面 web.xml
<servlet> <servlet-name>Ch3Beer</servlet-name> <servlet-class>com.yilong.mvc.web.BeerSelect</servlet-class> </servlet> <servlet-mapping> <servlet-name>Ch3Beer</servlet-name> <url-pattern>/SelectBeer.do</url-pattern> </servlet-mapping>
3.控制器Servlet代码 BeerSelect.java
public class BeerSelect extends HttpServlet { public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { String c = request.getParameter("color"); BeerExpert be = new BeerExpert(); List result = be.getBrands(c); request.setAttribute("styles", result); RequestDispatcher view = request.getRequestDispatcher("MVC/result.jsp"); view.forward(request, response); }}
4.构建和测试模型类 BeerExpert.java
public class BeerExpert { public List getBrands(String color){ List brands = new ArrayList(); if(color.equals("amber")){ brands.add("Jack Amber"); brands.add("Red Moose"); }else{ brands.add("Jail Pale Ale"); brands.add("Gout Stout"); } return(brands); }}
5.创建提供建议的JSP“视图”(可动态的更新原HTML网页) result.jsp
<body> <h1 align="center">Beer Recommendations JSP</h1> <p> <% List styles = (List)request.getAttribute("styles"); Iterator it = styles.iterator(); while(it.hasNext()){ out.print("<br>try:"+ it.next()); } %></body>
总结:注意MVC模式下三者之间的联系,M-分发控制 V-页面表现 C-业务处理
0 0
- 我的第一个MVC程序
- 我的第一个ASP.NET MVC程序
- 我的第一个程序
- 我的第一个程序
- 我的第一个程序
- 我的第一个程序
- 我的第一个程序
- 我的第一个程序
- 我的第一个程序
- 我的第一个程序
- 我的第一个程序
- 我的第一个程序
- 我的第一个程序
- 我的第一个程序
- 我的第一个程序
- 我的第一个程序
- 我的第一个程序
- 我的第一个程序
- 高光谱图像中的目标探测(三) | 正交子空间投影和CEM方法(约束能量最小化)的比较研究
- 使用“一条”SQL语句完成批量插入和批量删除操作
- guetzli 测试
- POJ 1979
- mysql的主从配置及读写分离配置
- 我的第一个MVC程序
- CentOS 7系统环境中安装Memcached,并连接
- Linux下安装hadoop
- Android爱读app开发记录之二---书架界面
- Qt 之 样式表的使用——样式选择器(上篇)
- Maven——快速入门手册(学习记录)
- Android Stutio打开项目卡死情况
- java基础之构造函数
- inkscope安装