jsp与action中Java语言实现
时间: 2024-05-23 21:10:12 浏览: 12
JSP(JavaServer Pages)是Java Servlet技术的扩展,它允许开发人员使用标记语言(如HTML、XML等)来创建动态Web页面,并且可以在其中嵌入Java代码。
Action中的Java语言实现是指在Struts框架中,Action类是继承自ActionSupport类的Java类。在Action类中,可以通过Java代码来处理请求、响应及业务逻辑等方面的功能。同时,Struts框架提供了一些预定义的接口和方法,开发人员可以重写这些方法以实现自己的业务逻辑。
相关问题
用eclipse用java语言写商城购物jsp界面
要使用Eclipse用Java语言写商城购物JSP界面,你需要掌握Java EE开发和JSP技术。以下是一个简单的商城购物JSP界面示例,你可以参考:
index.jsp
```jsp
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Shopping Cart</title>
<link rel="stylesheet" href="style.css">
</head>
<body>
<div class="header">
<h1>Shopping Cart</h1>
</div>
<div class="main">
<div class="product">
<h2>Product Name</h2>
<p>$0.00</p>
<form method="post" action="addToCart.jsp">
<input type="hidden" name="product" value="Product Name">
<input type="hidden" name="price" value="0.00">
<button type="submit">Add to Cart</button>
</form>
</div>
</div>
<div class="cart">
<h2>Cart</h2>
<p><%= session.getAttribute("cartSize") %> items</p>
<form method="post" action="checkout.jsp">
<button type="submit">Checkout</button>
</form>
</div>
</body>
</html>
```
addToCart.jsp
```jsp
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%
String product = request.getParameter("product");
String price = request.getParameter("price");
List<String[]> cart = (List<String[]>) session.getAttribute("cart");
if (cart == null) {
cart = new ArrayList<>();
}
cart.add(new String[] { product, price });
session.setAttribute("cart", cart);
session.setAttribute("cartSize", cart.size());
response.sendRedirect("index.jsp");
%>
```
checkout.jsp
```jsp
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%
List<String[]> cart = (List<String[]>) session.getAttribute("cart");
session.invalidate();
%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Shopping Cart</title>
<link rel="stylesheet" href="style.css">
</head>
<body>
<div class="header">
<h1>Shopping Cart</h1>
</div>
<div class="main">
<h2>Thank you for your purchase!</h2>
<table>
<thead>
<tr>
<th>Product</th>
<th>Price</th>
</tr>
</thead>
<tbody>
<% for (String[] item : cart) { %>
<tr>
<td><%= item[0] %></td>
<td><%= item[1] %></td>
</tr>
<% } %>
</tbody>
</table>
</div>
</body>
</html>
```
这个示例使用了JSP和Servlet技术,通过表单提交将商品添加到购物车中。购物车中保存了商品名称和价格,结账时将购物车内容显示在结账页面中。你可以根据自己的需求来修改和扩展这个示例。注意,在实际开发中,还需要考虑安全性和性能等问题。
请用Java和jsp和mysql语言帮我写一份基于MVP的个人信息管理系统的设计与实现
好的,这是一个比较复杂的项目,需要一定的编程基础和经验。下面是个人信息管理系统的设计与实现的详细步骤:
1. 确定需求和功能
首先,我们需要明确这个个人信息管理系统的具体功能和需求。比如,它需要实现的功能有:用户注册、登录、个人信息修改、查询等等。并且需要考虑到数据的安全性和稳定性,所以我们需要使用数据库来存储用户的信息。
2. 设计数据库
接下来,我们需要根据需求来设计数据库。我们可以使用MySQL数据库,并创建一个名为"userinfo"的数据库。在这个数据库中,我们需要创建一个名为"users"的表,用来存储用户的信息。表的结构如下:
```
CREATE TABLE `users` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`username` varchar(50) NOT NULL,
`password` varchar(50) NOT NULL,
`email` varchar(50) NOT NULL,
`phone` varchar(20) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
```
3. 编写Java代码
接下来,我们需要编写Java代码来实现功能。我们可以使用MVC架构来实现,即:
Model:负责与数据库进行交互,获取和保存数据。
View:负责展示数据,接收用户的输入,并将输入传递给Controller。
Controller:负责控制整个应用程序的流程和逻辑。
具体实现步骤如下:
1)创建一个JavaBean类User,用来封装用户的信息。
```
public class User {
private int id;
private String username;
private String password;
private String email;
private String phone;
// 省略getter和setter方法
}
```
2)创建一个Dao类,用来与数据库进行交互,实现增删改查等操作。
```
public class UserDao {
private Connection conn;
private PreparedStatement pstmt;
private ResultSet rs;
// 省略构造方法和其他方法
// 添加用户
public boolean addUser(User user) {
boolean flag = false;
try {
conn = DBUtil.getConnection();
String sql = "INSERT INTO users(username, password, email, phone) VALUES (?, ?, ?, ?)";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1, user.getUsername());
pstmt.setString(2, user.getPassword());
pstmt.setString(3, user.getEmail());
pstmt.setString(4, user.getPhone());
int result = pstmt.executeUpdate();
if(result > 0) {
flag = true;
}
} catch (Exception e) {
e.printStackTrace();
} finally {
DBUtil.close(conn, pstmt, rs);
}
return flag;
}
// 根据用户名和密码查找用户
public User findUser(String username, String password) {
User user = null;
try {
conn = DBUtil.getConnection();
String sql = "SELECT * FROM users WHERE username = ? AND password = ?";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1, username);
pstmt.setString(2, password);
rs = pstmt.executeQuery();
if(rs.next()) {
user = new User();
user.setId(rs.getInt("id"));
user.setUsername(rs.getString("username"));
user.setPassword(rs.getString("password"));
user.setEmail(rs.getString("email"));
user.setPhone(rs.getString("phone"));
}
} catch (Exception e) {
e.printStackTrace();
} finally {
DBUtil.close(conn, pstmt, rs);
}
return user;
}
// 根据用户名查找用户
public User findUser(String username) {
User user = null;
try {
conn = DBUtil.getConnection();
String sql = "SELECT * FROM users WHERE username = ?";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1, username);
rs = pstmt.executeQuery();
if(rs.next()) {
user = new User();
user.setId(rs.getInt("id"));
user.setUsername(rs.getString("username"));
user.setPassword(rs.getString("password"));
user.setEmail(rs.getString("email"));
user.setPhone(rs.getString("phone"));
}
} catch (Exception e) {
e.printStackTrace();
} finally {
DBUtil.close(conn, pstmt, rs);
}
return user;
}
// 修改用户信息
public boolean updateUser(User user) {
boolean flag = false;
try {
conn = DBUtil.getConnection();
String sql = "UPDATE users SET password = ?, email = ?, phone = ? WHERE id = ?";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1, user.getPassword());
pstmt.setString(2, user.getEmail());
pstmt.setString(3, user.getPhone());
pstmt.setInt(4, user.getId());
int result = pstmt.executeUpdate();
if(result > 0) {
flag = true;
}
} catch (Exception e) {
e.printStackTrace();
} finally {
DBUtil.close(conn, pstmt, rs);
}
return flag;
}
}
```
3)创建一个Servlet类,用来控制整个应用程序的流程和逻辑。
```
public class UserServlet extends HttpServlet {
private UserDao userDao = new UserDao();
// 处理用户注册
protected void doReg(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
String username = request.getParameter("username");
String password = request.getParameter("password");
String email = request.getParameter("email");
String phone = request.getParameter("phone");
User user = new User();
user.setUsername(username);
user.setPassword(password);
user.setEmail(email);
user.setPhone(phone);
boolean flag = userDao.addUser(user);
if(flag) {
request.setAttribute("msg", "注册成功,请登录!");
request.getRequestDispatcher("/login.jsp").forward(request, response);
} else {
request.setAttribute("msg", "注册失败,请重新注册!");
request.getRequestDispatcher("/reg.jsp").forward(request, response);
}
}
// 处理用户登录
protected void doLogin(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
String username = request.getParameter("username");
String password = request.getParameter("password");
User user = userDao.findUser(username, password);
if(user != null) {
request.getSession().setAttribute("user", user);
response.sendRedirect("/index.jsp");
} else {
request.setAttribute("msg", "用户名或密码错误,请重新登录!");
request.getRequestDispatcher("/login.jsp").forward(request, response);
}
}
// 处理用户注销
protected void doLogout(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
request.getSession().invalidate();
response.sendRedirect("/login.jsp");
}
// 处理用户信息修改
protected void doUpdate(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
User user = (User) request.getSession().getAttribute("user");
String password = request.getParameter("password");
String email = request.getParameter("email");
String phone = request.getParameter("phone");
user.setPassword(password);
user.setEmail(email);
user.setPhone(phone);
boolean flag = userDao.updateUser(user);
if(flag) {
request.getSession().setAttribute("user", user);
request.setAttribute("msg", "修改成功!");
request.getRequestDispatcher("/user.jsp").forward(request, response);
} else {
request.setAttribute("msg", "修改失败,请重新修改!");
request.getRequestDispatcher("/update.jsp").forward(request, response);
}
}
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
doGet(request, response);
}
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
String action = request.getParameter("action");
if("reg".equals(action)) {
doReg(request, response);
} else if("login".equals(action)) {
doLogin(request, response);
} else if("logout".equals(action)) {
doLogout(request, response);
} else if("update".equals(action)) {
doUpdate(request, response);
}
}
}
```
4. 编写JSP页面
最后,我们需要编写JSP页面来展示数据和接收用户的输入。具体实现步骤如下:
1)创建一个注册页面reg.jsp。
```
<form action="user?action=reg" method="post">
<label>用户名:</label><input type="text" name="username"><br>
<label>密码:</label><input type="password" name="password"><br>
<label>邮箱:</label><input type="text" name="email"><br>
<label>电话:</label><input type="text" name="phone"><br>
<input type="submit" value="注册">
</form>
```
2)创建一个登录页面login.jsp。
```
<form action="user?action=login" method="post">
<label>用户名:</label><input type="text" name="username"><br>
<label>密码:</label><input type="password" name="password"><br>
<input type="submit" value="登录">
</form>
```
3)创建一个用户信息页面user.jsp。
```
<% User user = (User) session.getAttribute("user"); %>
<h1>欢迎您,<%= user.getUsername() %></h1>
<p>邮箱:<%= user.getEmail() %></p>
<p>电话:<%= user.getPhone() %></p>
<a href="user?action=update">修改信息</a>
<a href="user?action=logout">注销</a>
```
4)创建一个修改信息页面update.jsp。
```
<% User user = (User) session.getAttribute("user"); %>
<form action="user?action=update" method="post">
<label>密码:</label><input type="password" name="password" value="<%= user.getPassword() %>"><br>
<label>邮箱:</label><input type="text" name="email" value="<%= user.getEmail() %>"><br>
<label>电话:</label><input type="text" name="phone" value="<%= user.getPhone() %>"><br>
<input type="submit" value="修改">
</form>
```
5. 部署项目
最后,我们需要将编写好的Java代码和JSP页面部署到Tomcat服务器中,以便用户可以访问。