菜单 学习猿地 - LMONKEY

VIP

开通学习猿地VIP

尊享10项VIP特权 持续新增

知识通关挑战

打卡带练!告别无效练习

接私单赚外块

VIP优先接,累计金额超百万

学习猿地私房课免费学

大厂实战课仅对VIP开放

你的一对一导师

每月可免费咨询大牛30次

领取更多软件工程师实用特权

入驻
113
0

初识MVC模式

原创
05/13 14:22
阅读数 51067

一.概念:MVC是 模型(Model),视图(View)和控制(Controller)的缩写,其目的实现Web系统的职能分工。

二.问题描述:通过一个简单的例子(计算圆面积)来体会MVC模式和普通的servlet+jsp的区别……

ctrl+"/'是单行注释,只在java文件里有效,在jsp里无效,不过可以撤销;ctrl+shift+"/"在java和jsp文件里都有效果,在jsp文件里是html注释,不过不可撤销,只能ctrl+z撤消了……

  1. jsp+javabean

  

 1 <%@ page language="java" contentType="text/html; charset=UTF-8"
 2     pageEncoding="UTF-8"%>
 3 <html>
 4 <head>
 5     <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
 6     <title>JSP+JavaBean</title>
 7 </head>
 8 <body>
 9 <!-- 不写action的话是提交到本页面 -->
10 <form >
11     <input type="text" name="r"/>
12     <input type="submit" value="提交"/>
13 </form>
14 <jsp:useBean id="c" class="bean.Circle"/>
15 <jsp:setProperty property="*" name="c"/>
16 <!-- 从上下文获取 ,原来显示0.0-->
17 <jsp:getProperty property="area" name="c"/>
18 </body>
19 </html>

2.Cicle类

 1 package bean;
 2 
 3 public class Circle {
 4 
 5     private double r;
 6     private double area;
 7     
 8     public double getR() {
 9         return r;
10     }
11     public void setR(double r) {
12         this.r = r;
13     }
14     //面积不可以设定
15     public double getArea() {
16         area = Math.PI * r* r;
17         return area;
18     }
19 }

 3.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" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" id="WebApp_ID" version="3.0">
  <display-name>test</display-name>
  
  <servlet>
  	<servlet-name>com</servlet-name>
  	<servlet-class>servlet.Com</servlet-class>
  </servlet>
  
  <servlet-mapping>
  	<servlet-name>com</servlet-name>
  	<url-pattern>/com</url-pattern>
  </servlet-mapping>
  
  
  <welcome-file-list>
    <welcome-file>index.html</welcome-file>
    <welcome-file>index.htm</welcome-file>
    <welcome-file>index.jsp</welcome-file>
    <welcome-file>default.html</welcome-file>
    <welcome-file>default.htm</welcome-file>
    <welcome-file>default.jsp</welcome-file>
  </welcome-file-list>
</web-app>

 

4.输入界面

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>输入界面</title>
</head>
<body>
<!--com是servlet中Com.java的名字,随便起  -->
<form action="com">
	<input type="text" name="r"/>
	<input type="submit" value="提交"/>
</form>
</body>
</html> 

 

5.输出界面

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>输出界面</title>
</head>
<body>
r:${r }
<br/>
area:${area }
</body>
</html>

 

6.servlet文件

 1 package servlet;
 2 
 3 import java.io.IOException;
 4 
 5 import javax.servlet.ServletException;
 6 import javax.servlet.http.HttpServlet;
 7 import javax.servlet.http.HttpServletRequest;
 8 import javax.servlet.http.HttpServletResponse;
 9 
10 import bean.Circle;
11 
12 public class Com extends HttpServlet {
13 
14     @Override
15     protected void service(HttpServletRequest request, HttpServletResponse response)
16             throws ServletException, IOException {
17         String str = request.getParameter("r");
18         double r = Double.parseDouble(str);
19         
20         Circle c = new Circle();
21         c.setR(r);
22         double area = c.getArea();
23         
24         request.setAttribute("r", str);
25         request.setAttribute("area", area);
26         request.getRequestDispatcher("output.jsp").forward(request, response);
27         
28     }
29 
30     
31 }

 

发表评论

0/200
113 点赞
0 评论
收藏