跳到mvc中的model层,了解JavaBean的封装。
JavaBean与前端页面
<jsp:useBean>、<jsp:setProperty>、<jsp:getProperty>的使用
从HTML页面login.html中输入用户名和口令等,然后提交给display.jsp页面,在该页面中通过JavaBeans保存数据并输出。
package com.beans;
public class UserBean {
private String username;
private String password;
private String email;
public UserBean(){}
public void setUsername(String username){
this.username = username; }
public void setPassword(String password){
this.password = password; }
public void setEmail(String email){
this.email = email; }
public String getUsername(){
return username; }
public String getPassword(){
return password; }
public String getEmail(){
return email; }
}
<html>
<body>
Please input:<br>
<form action="display.jsp">
UserName:<input type="text" name="username"><br>
Password:<input type="password" name="password"><br>
Email:<input type="text"name="email"><br>
<input type="submit" value="提交">
</form>
</body>
</html>
<%@ page import="com.beans.UserBean" %>
<jsp:useBean id="user" class="com.beans.UserBean" scope="session"/>
<jsp:setProperty name="user" property="*"/>
<html>
<body>
UserName:<jsp:getProperty name="user" property="username"/><br>
Password:<jsp:getProperty name="user" property="password"/><br>
Email:<jsp:getProperty name="user" property="email"/><br>
</body>
</html>
mvc框架求三角形面积
model
package com.beans;
public class Triangle {
private double edgeA;
private double edgeB;
private double edgeC;
// 构造函数
public Triangle(double edgeA, double edgeB, double edgeC) {
this.edgeA = edgeA;
this.edgeB = edgeB;
this.edgeC = edgeC;
}
public boolean isTriangle(){
if(edgeA+edgeB>edgeC&&edgeA+edgeC>edgeB&&edgeB+edgeC>edgeA)
return true;
else return false;
}
public double getArea(){
double p=(edgeA+edgeB+edgeC)/2;
return Math.sqrt(p*(p-edgeA)*(p-edgeB)*(p-edgeC));
}
}
view
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
<title>Title</title>
</head>
<body>
<form action="CalTriangle" >
<label>第一条边:</label>
<input type="text" name="edgeA"><br>
<label>第二条边:</label>
<input type="text" name="edgeB"><br>
<label>第三条边:</label>
<input type="text" name="edgeC"><br>
<input type="submit" value="计算">
</form>
${message}
<%
// String m=(String) session.getAttribute("message");
// out.print(m);
// Object messageObj = session.getAttribute("message");
// String message = (messageObj != null) ? messageObj.toString() : "";
// out.print(message);
%>
</body>
</html>
controller
package Controller;
import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
import com.beans.Triangle;
@WebServlet(name = "CalTriangel", urlPatterns ="/CalTriangle")
public class CalTriangel extends HttpServlet {
protected void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
response.setContentType("text/html");
double d1 = Double.parseDouble(request.getParameter("edgeA"));
double d2 = Double.parseDouble(request.getParameter("edgeB"));
double d3 = Double.parseDouble(request.getParameter("edgeC"));
Triangle tri = new Triangle(d1, d2, d3);
HttpSession session = request.getSession();
if (!tri.isTriangle()) {
session.setAttribute("message", "不是三角形");
} else {
session.setAttribute("message", "面积为:" + tri.getArea());
}
response.sendRedirect("inputTriangle.jsp");
}
}
运行可得
实验心得
最近骗局琳琅满目,大家要小心被钓了。