用jsp和javabean写一个有三个网页的不连接数据库的快递网站的完整代码及过程
时间: 2024-03-10 10:44:10 浏览: 69
好的,下面是一个简单的示例代码,实现了一个有三个网页的不连接数据库的快递网站。请注意,这个示例代码只是一个简单的示例,没有涉及到真正的支付和物流功能。如果需要实现这些功能,还需要进一步的开发和实现。
1. 首先,我们需要创建一个 JavaBean 类,用于存储快递订单信息。在这个示例代码中,我们定义了一个名为 `Order` 的 JavaBean 类,用于存储订单信息。
```java
public class Order {
private String senderName;
private String senderAddress;
private String receiverName;
private String receiverAddress;
public String getSenderName() {
return senderName;
}
public void setSenderName(String senderName) {
this.senderName = senderName;
}
public String getSenderAddress() {
return senderAddress;
}
public void setSenderAddress(String senderAddress) {
this.senderAddress = senderAddress;
}
public String getReceiverName() {
return receiverName;
}
public void setReceiverName(String receiverName) {
this.receiverName = receiverName;
}
public String getReceiverAddress() {
return receiverAddress;
}
public void setReceiverAddress(String receiverAddress) {
this.receiverAddress = receiverAddress;
}
}
```
2. 接下来,我们需要创建三个 JSP 页面:`index.jsp`、`order.jsp`、`confirm.jsp`,用于展示网站的不同功能页面。
`index.jsp` 页面中,提供一个“下单”按钮,点击后跳转到 `order.jsp` 页面。
```jsp
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>快递网站</title>
</head>
<body>
<h1>快递网站</h1>
<p>欢迎使用我们的快递服务!</p>
<form action="order.jsp">
<input type="submit" value="下单">
</form>
</body>
</html>
```
`order.jsp` 页面中,使用表单元素来获取用户输入的订单信息,并将这些信息存储到 `Order` JavaBean 中。同时,在页面底部提供一个“确认”按钮,点击后跳转到 `confirm.jsp` 页面。
```jsp
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>下单</title>
</head>
<body>
<h1>下单</h1>
<form action="confirm.jsp" method="post">
<p>
<label for="senderName">发件人姓名:</label>
<input type="text" name="senderName" id="senderName">
</p>
<p>
<label for="senderAddress">发件人地址:</label>
<input type="text" name="senderAddress" id="senderAddress">
</p>
<p>
<label for="receiverName">收件人姓名:</label>
<input type="text" name="receiverName" id="receiverName">
</p>
<p>
<label for="receiverAddress">收件人地址:</label>
<input type="text" name="receiverAddress" id="receiverAddress">
</p>
<p>
<input type="submit" value="确认">
</p>
</form>
</body>
</html>
```
`confirm.jsp` 页面中,展示用户输入的订单信息,让用户确认订单信息是否正确。如果信息正确,提供一个“提交”按钮,点击后将订单信息发送到指定的邮件地址(可以使用 JavaMail API 实现邮件发送)。如果信息不正确,提供一个“返回”按钮,点击后返回到 `order.jsp` 页面,让用户重新输入订单信息。
```jsp
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%@ page import="javax.mail.*,javax.mail.internet.*,java.util.*"%>
<%
String senderName = request.getParameter("senderName");
String senderAddress = request.getParameter("senderAddress");
String receiverName = request.getParameter("receiverName");
String receiverAddress = request.getParameter("receiverAddress");
Order order = new Order();
order.setSenderName(senderName);
order.setSenderAddress(senderAddress);
order.setReceiverName(receiverName);
order.setReceiverAddress(receiverAddress);
String to = "recipient@example.com"; // 这里填写收件人的邮件地址
String from = "sender@example.com"; // 这里填写发件人的邮件地址
String host = "localhost"; // 这里填写 SMTP 服务器地址
Properties properties = System.getProperties();
properties.setProperty("mail.smtp.host", host);
Session session = Session.getDefaultInstance(properties);
try {
MimeMessage message = new MimeMessage(session);
message.setFrom(new InternetAddress(from));
message.addRecipient(Message.RecipientType.TO, new InternetAddress(to));
message.setSubject("快递订单");
message.setText("发件人姓名:" + senderName + "\n"
+ "发件人地址:" + senderAddress + "\n"
+ "收件人姓名:" + receiverName + "\n"
+ "收件人地址:" + receiverAddress);
Transport.send(message);
out.println("<h1>订单已提交</h1>");
} catch (MessagingException mex) {
mex.printStackTrace();
out.println("<h1>订单提交失败</h1>");
}
%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>确认订单</title>
</head>
<body>
<h1>确认订单</h1>
<p>请确认订单信息是否正确:</p>
<table>
<tr>
<td>发件人姓名:</td>
<td><%=order.getSenderName()%></td>
</tr>
<tr>
<td>发件人地址:</td>
<td><%=order.getSenderAddress()%></td>
</tr>
<tr>
<td>收件人姓名:</td>
<td><%=order.getReceiverName()%></td>
</tr>
<tr>
<td>收件人地址:</td>
<td><%=order.getReceiverAddress()%></td>
</tr>
</table>
<form action="index.jsp">
<input type="submit" value="返回">
</form>
</body>
</html>
```
3. 最后,将以上三个 JSP 页面和 `Order` JavaBean 类打包为一个 WAR 文件,然后将这个 WAR 文件部署到一个支持 JSP 的 Servlet 容器中,即可启动这个不连接数据库的快递网站。
需要注意的是,这个示例代码中使用了 JavaMail API 来实现邮件发送功能。如果您的应用程序运行在一个没有 SMTP 服务器的环境中,您需要自己实现邮件发送功能,或者使用第三方邮件发送服务。同时,为了保护订单信息的安全,您需要使用 SSL 或 TLS 协议来加密邮件传输。
阅读全文