使用Servlet+jsp构建MVC体系结构的Web应用
来源:互联网 发布:淘宝假冒品牌处罚 编辑:程序博客网 时间:2024/06/08 13:18
使用简单的MVC体系结构构建Web应用
1、客户请求得到form.html页面;
2、容器获得form.html页面;
3、容器把这个页面返回给浏览器,用户再在浏览器上回答表单上的问题;
4、浏览器把请求数据发送给容器;
5、容器根据URL查找正确servlet,并把请求传递给这个servlet;
6、servlet调用BeerExpert寻求帮助;
7、这个“专家”类返回一个回答,servlet把这个回答增加到请求对象;
8、servlet把请求转发给JSP;
9、JSP从请求对象得到回答;
10、JSP为容器生成一个页面;
11、容器把这个页面返回给心满意足的用户。
一、工程的目录结构如下图所示:
这里将servlet-api.jar包放到了lib目录下,并构建路径;
二、第一个表单页面的html:form.html
这个HTML很简单,它只包含标题文本,一个下拉列表(用户可以从中选择一种啤酒颜色),另外还有一个提交按钮。
<!DOCTYPE html><html><head><meta charset="UTF-8"><title>Beer Selection Page</title></head><body><h1>Beer Selection Page</h1><form method="post" action="SelectBeer.do">Select beer characteristics<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><input type="submit"></form></body></html>
三、在开发环境中创建DD
创建以下XML文档,取名为web.xml。
<?xml version="1.0" encoding="UTF-8"?><web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" id="WebApp_ID" version="2.5"><welcome-file-list><welcome-file>form.html</welcome-file></welcome-file-list> <servlet> <servlet-name>Ch3 Beer</servlet-name> <servlet-class>com.example.web.BeerSelect</servlet-class> </servlet> <servlet-mapping> <servlet-name>Ch3 Beer</servlet-name> <url-pattern>/SelectBeer.do</url-pattern> </servlet-mapping> </web-app>
四、构建模型类
模型可能非常复杂。通常会涉及与遗留数据库的连接,还要调用复杂的业务逻辑。以下就是我们“复杂的”、基于规则的专家系统,可以用来提供啤酒建议。
<span style="font-size:14px;">package com.example.model;import java.util.*;public class BeerExpert {public List<String> getBrands(String color) {List<String> brands = new ArrayList<String>();if(color.equals("amber")) {brands.add("Jack Amber");brands.add("Red Moose");}else {brands.add("Jail Pale Ale");brands.add("Gout Stout");}return brands;}}</span><span style="font-size:24px;"></span>
五、编写控制器servlet的代码
注意,模型只是普通的Java,所以我们会像调用任何其他Java方法一样,先实例化模型类,再调用它的方法!
<span style="font-size:14px;">package com.example.web;import java.io.IOException;import java.util.List;import javax.servlet.RequestDispatcher;import javax.servlet.ServletException;import javax.servlet.http.HttpServlet;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;import com.example.model.BeerExpert;public class BeerSelect extends HttpServlet{private static final long serialVersionUID = -5212877687087164982L;public void doPost(HttpServletRequest request,HttpServletResponse response) throws IOException, ServletException{String str2 = request.getParameter("color");BeerExpert be = new BeerExpert();List<String> result = be.getBrands(str2);//response.setContentType("text/html");//PrintWriter out = response.getWriter();//out.println("Beer Selection Advice<br>");//Iterator<String> it = result.iterator();//while(it.hasNext()) {//out.println("<br>try: " + it.next());//}request.setAttribute("styles", result);RequestDispatcher view = request.getRequestDispatcher("result.jsp");view.forward(request, response);}}</span><span style="font-size:24px;"></span>
六、创建提供建议的JSP“视图”:result.jsp
<%@ page language="java" contentType="text/html; charset=utf-8" pageEncoding="utf-8"%><!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"><%@ page import="java.util.*" %><html><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8"><title>Beer V1</title></head><body><h1 align="center">Beer Recommendations JSP</h1><p><%List<String> styles = (List<String>)request.getAttribute("styles");Iterator<String> it = styles.iterator();while(it.hasNext()) {out.print("<br>try: " + it.next());}%></body></html>七、测试应用
点击提交,跳转到下面的页面:
0 0
- 使用Servlet+jsp构建MVC体系结构的Web应用
- MVC架构(一)构建JSP+Servlet+JDBC结构的web项目
- MVC框架详解--Servlet+JSP+JavaBean模式(MVC)开发复杂的web应用
- 【Servlet】01-Web应用体系结构
- Springboot构建spring mvc的web应用
- 基于CORBA/WEB技术构建三层体系结构的应用
- 基于CORBA/WEB技术构建三层体系结构的应用
- 基于CORBA/WEB技术构建三层体系结构的应用
- Web应用的体系结构
- Head First Servlets&Jsp 读书摘记1——【Web应用体系结构 & 迷你MVC】
- 使用Spring MVC构建REST风格WEB应用
- 使用Spring MVC构建REST风格WEB应用
- java web MVC的实现(JSP+Servlet+javaBean)
- 基于jsp+servlet+javabean的MVC模式简单应用
- [Servlet]Servlet/JSP Web应用配置
- JSP之自己构建WEB应用
- 使用maven构建XML风格的Spring4 MVC应用
- 【Java.Web】Servlet —— Servlet的类的体系结构
- kali sources.list
- MySQL数据库常用命令
- 很多知识点c语言(单片机)
- android中双击退出程序的帮助类
- 定制椭圆形状
- 使用Servlet+jsp构建MVC体系结构的Web应用
- Different Ways to Add Parentheses 不同的添加括号的方式
- leetcode #83 in cpp
- Crossin先生的微信打飞机游戏(3)
- Struts2的配置
- 让CodeReview成为一种团队习惯
- http://my.oschina.net/u/2352897/blog
- codeforces 645C
- 语音信号去混响原理与技术