MVC轻量web应用

🏷️ 365bet娱乐场开户 📅 2025-07-05 17:49:28 👤 admin 👀 5885 ❤️ 162
MVC轻量web应用

前言:为了能够清晰的理解mvc架构,以一个简单的mvc架构web应用为例。例子为一个beer项目,用户可通过页面选择啤酒的种类,服务端根据用户的选择,给出相应的推荐。

涉及到的代码:

view层:form.html 》 用户选择页面

result.jsp 》 服务器返回推荐页面

model层:BeerExpert.java 》 处理用户选择并给出推荐的逻辑处理

control层:BeerSelect.java 》 负责接收view层传入的数据,并将数据交给model层处理,然后将处理结果重定向到result.jsp

web架构:

代码实现:

form.html

Beer Selection Page

action="SelectBeer.do">

Select beer charcteristics

Color:



result.jsp

<%@ page import="java.util.*" %>

Beer Recommendations JSP

<%

List styles = (List)request.getAttribute("styles");

Iterator it = styles.iterator();

while(it.hasNext()){

out.print("
try:: "+it.next());

}

%>

web.xml

xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

xsi:schemaLocation="http://java.sun.com/xml/ns/javaee

http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"

version="3.0">

MyBeer

com.example.web.BeerSelect

MyBeer

/SelectBeer.do

BeerSelect.java

package com.example.web;

import com.example.model.*;

import javax.servlet.*;

import javax.servlet.http.*;

import java.io.*;

import java.util.*;

public class BeerSelect extends HttpServlet {

public void doPost(HttpServletRequest request,

HttpServletResponse response)

throws IOException, ServletException{

response.setContentType("text/html");

String c = request.getParameter("color");

//PrintWriter out = response.getWriter();

BeerExpert expert = new BeerExpert();

List ls = expert.getBrands(c);

//Iterator it = ls.iterator();

//while(it.hasNext()){

// out.println("
try:"+it.next());

//}

//out.println("Beer Selection Advice
");

//ot.println("
Got beer color"+c);

request.setAttribute("styles",ls);

RequestDispatcher view = request.getRequestDispatcher("result.jsp");

view.forward(request,response);

}

}

BeerExpert.java

package com.example.model;

import java.util.*;

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 Pala Ale");

brands.add("Gout Stout");

}

return(brands);

}

}

测试Beer应用:

相关推荐