JSP 实验六(1)JavaBean
文章目录
一、实验题目及要求
1.实验目的
本实验的目的是掌握怎样在JSP中使用Javabean完成数据的封装操作,并能够使用Javabean操作文件或连接数据库。
2.实验内容
编写一个JSP页面:inputAndShow.jsp和一个名字为car的Javabean,其中car由Car.class类负责创建。
1.inputAndShow.jsp的具体要求
inputAndShow.jsp页面提供一个表单。其中表单允许用户输入汽车的牌号、名称和生产日期,该表单将用户输入的信息提交给当前页面,当前页面调用名字为car的bean,并使用表单提交的数据设置car的有关属性的值,然后显示该car的各个属性的值。
该页面还能够显示已经提交的所有车辆信息。
2.Car.java的具体要求
编写的Car.java应当有刻画汽车号码、名称和生产日期的属性,并提供相应的getXxx和setXxx方法,来获取和修改这些属性的值。Car.java能够将汽车的信息保存到某个文本文档,或者能够将汽车的信息保存到某个数据库中,可由同学们自行选择。
3.JSP页面效果示例
二、实验实现代码
1.inputmess.jsp
代码如下(示例):
<%--
Created by IntelliJ IDEA.
User: ruochen
Date: 2020/11/8
Time: 13:08
To change this template use File | Settings | File Templates.
--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<jsp:useBean id="car" class="tang.ruochen.shuai.Car" scope="request" />
<html>
<head>
<title>Title</title>
</head>
<body>
<pre>
<form action="" method="post">
序 号:<INPUT type="text" name="num" placeholder="如:1">
汽车牌号: <INPUT type="text" name="number" placeholder="如:陕A12345">
汽车品牌:<INPUT type="text" name="brand" placeholder="如:长城">
生产日期:<INPUT type="text" name="productbirth" placeholder="如:2019.5">
<INPUT type="submit" value="提交">
</form>
<%
request.setCharacterEncoding("UTF-8");
String num = request.getParameter("num");
String number = request.getParameter("number");
String brand = request.getParameter("brand");
String productbirth = request.getParameter("productbirth");
%>
<jsp:setProperty name="car" property="num" value="<%=num%>"/>
<jsp:setProperty name="car" property="number" value="<%=number%>"/>
<jsp:setProperty name="car" property="brand" value="<%=brand%>"/>
<jsp:setProperty name="car" property="productbirth" value="<%=productbirth%>"/>
<%
if(!(num==null||number==null||brand==null||productbirth==null))
{%> 最后一个提交的数据为:
车牌号:<%=number%>,品牌:<%=brand%>,生产日期:<%=productbirth%>
<%}%>
<jsp:getProperty name="car" property="result"/>
</pre>
</body>
</html>
2.Car.java
代码如下(示例):
package tang.ruochen.shuai;
import java.sql.*;
import static java.sql.ResultSet.CONCUR_READ_ONLY;
import static java.sql.ResultSet.TYPE_SCROLL_INSENSITIVE;
public class Car {
String number;
String brand;
String productbirth;
String num;
StringBuffer result=new StringBuffer("123");
public void setNum(String num) {
this.num = num;
}
public void setNumber(String number) {
this.number = number;
}
public void setBrand(String brand) {
this.brand = brand;
}
public void setProductbirth(String productbirth) {
this.productbirth = productbirth;
}
public Car()throws Exception {
result=new StringBuffer();
Class.forName("com.mysql.cj.jdbc.Driver");
}
public String getResult() {
try {
String condition="insert into car values("+"'"+num+"','"+number+"','"+brand+"','"+productbirth+"');";
Connection con = DriverManager.getConnection("jdbc:mysql://127.0.0.1/myjdbc?" + "user=root&password=&characterEncoding=UTF-8&serverTimezone=GMT");
Statement sql = con.createStatement(TYPE_SCROLL_INSENSITIVE,CONCUR_READ_ONLY);
ResultSet rs;
if(!(num==null||number==null||brand==null||productbirth==null))
sql.executeUpdate(condition);
rs=sql.executeQuery("select * from car;");
ResultSetMetaData rsmd = rs.getMetaData();
int n = rsmd.getColumnCount();
rs.last();
result.append("目前已登记车辆共"+rs.getRow()+"辆:");
rs.beforeFirst();
result.append("<table border = 1>");
result.append("<tr>");
result.append("<th>"+""+"</th>");
result.append("<th>"+"汽车牌号"+"</th>");
result.append("<th>"+"汽车品牌"+"</th>");
result.append("<th>"+"生产日期"+"</th>");
result.append("</tr>");
while(rs.next()){
result.append("<tr>");
for(int i = 1;i<=n;i++)
{
result.append("<td>"+rs.getString(i)+"</td>");
}
result.append("</tr>");
}
result.append("</table>");
con.close();
}
catch (SQLException e){
result.append(e.getMessage());
}
return result.toString();
}
}
效果显示
总结
- 对jdbc有了更深的了解
- 如需使用,自行更改数据库名与密码
Connection con = DriverManager.getConnection(“jdbc:mysql://127.0.0.1/myjdbc?” + “user=root&password=&characterEncoding=UTF-8&serverTimezone=GMT”);连接数据库,
Statement sql = con.createStatement(TYPE_SCROLL_INSENSITIVE,CONCUR_READ_ONLY);
创建sql语句
rs=sql.executeQuery(“select * from car;”);
保存数据库输出信息
while(rs.next()){
result.append("");
for(int i = 1;i<=n;i++)
{
result.append(""+rs.getString(i)+"");
}
result.append("");
}
将结果以字符串形式返回
return result.toString();