使用JSP、JavaBean和Servlet完成一个简单的留言板

本文介绍了一个使用JSP、JavaBean和Servlet开发的简单留言板系统,包括登录、注册、主题发布等功能。通过DbUtil、UserDaoImpl、UserService等组件实现数据操作,提供登录注册Servlet及主题相关Servlet。页面包括登录、注册、主题列表、详情及编辑功能。系统具有错误处理,如用户名不存在会自动跳转注册,密码不一致则提示重新输入。完成后的系统虽然页面设计简洁,但功能完整。
摘要由CSDN通过智能技术生成

实现登录,注册,留言板

最近布置了一个实验,花了点时间写完了,本人小白,可以参考一下自己写,文章最后上运行截图

 需要的第一个数据库表列名有用来存放用户信息

第二个列名存放主题信息

上代码

DbUtil.java

package com.db;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;

public class DbUtil {
	private Statement getStatement()
	{
		Statement sm=null;
	    Connection conn;
		try {
			Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
			conn=DriverManager.getConnection("jdbc:sqlserver://localhost:1433;DatabaseName=test", "sa", "123");
			sm=conn.createStatement();
			
		} catch (Exception e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		
		return sm;
	}
	public ResultSet executeQuery(String sql)
	{
		ResultSet rs=null;
		
		try {
			rs=this.getStatement().executeQuery(sql);
		    System.out.println("取库成功");
		} catch (SQLException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
			
		}
		return rs;
	}
	public int executeNoQuery(String sql)
	{
		int result=0;
		
		try {
			result=this.getStatement().executeUpdate(sql);
		} catch (SQLException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		return result;
	}
}

UserDaoImpl.java              UserDao接口自己写一下很简单

package com.dao;

import java.sql.ResultSet;
import java.util.ArrayList;

import com.bean.Review;
import com.bean.Theme;
import com.bean.User;
import com.db.DbUtil;

public class UserDaoImpl implements UserDao {


	@Override
	public User getUserByUserNameandPassword(User user) {
		// TODO Auto-generated method stub
		DbUtil dbUtil=new DbUtil();
		String sql="select * from Userss where username='"+user.getUsername()+"' and password='"+user.getPassword()+"'";
		ResultSet rs=dbUtil.executeQuery(sql);
		try {
			if(rs.next())
			{
				return user;
			}
			
			}
			catch (Exception e) {

			}
		return null;
	}

	@Override
	public boolean insert(User user) {
		// TODO Auto-generated method stub
		DbUtil dbUtil=new DbUtil();
		String sql="insert into Userss values('"+user.getUsername()+"','"+user.getPassword()+"')";
		System.out.println(sql);
		
		int result=dbUtil.executeNoQuery(sql);
		
		return result==1?true:false;
	}

	@Override
	public ArrayList<Theme> getAllTheme() {
		// TODO Auto-generated method stub
		ArrayList<Theme> themes=new ArrayList<Theme>();
		
		
		DbUtil dbUtil=new DbUtil();
		String sql="select * from themess";
		System.out.println(sql);
		ResultSet rs=dbUtil.executeQuery(sql);
		try {
		while(rs.next())
		{
			Theme theme=new Theme();
			theme.setThemename(rs.getString("themename"));
			theme.setThemeuser(rs.getString("themeuser"));
			theme.setThemecontent(rs.getString("themecontent"));
			themes.add(theme);
		
		}
		}
		catch (Exception e) {

		}
		System.out.println("themes  dao size="+themes.size());

		return themes;
	}

	@Override
	public boolean insertTheme(Theme theme) {
		// TODO Auto-generated method stub
		DbUtil dbUtil=new DbUtil();
		String sql="insert into themess  values('"+theme.getThemename()+"','"+theme.getThemeuser()+"','"+theme.getThemecontent()+"'); create table "+theme.getThemename()+""+theme.getThemeuser()+"(users varchar(10),comment varchar(50))";
		System.out.println(sql);
		
		int result=dbUtil.executeNoQuery(sql);
		
		return result==1?true:false;
	}

	@Override
	public Theme getThemeNameByOthers(Theme theme) {
		// TODO Auto-generated method stub
		DbUtil dbUtil=new DbUtil();
		
		String sql="select * from themess where themename='"+theme.getThemename()+"'and themeuser='"+theme.getThemeuser()+"'";
		System.out.println(sql);
		ResultSet rs=dbUtil.executeQuery(sql);
		try {
			if(rs.next())
			{
				
				theme.setThemecontent(rs.getString("themecontent"));
				return theme;
			}
			
			}
			catch (Exception e) {

			}
		return theme;

	}

	@Override
	public boolean updateTheme(Theme theme) {
		// TODO Auto-generated method stub
		DbUtil dbUtil=new DbUtil();
		
		String sql="update themess set themecontent='"+theme.getThemecontent()+"' where themename='"+theme.getThemename()+"' and themeuser='"+theme.getThemeuser()+"'";
		System.out.println(sql);
		int result=dbUtil.executeNoQuery(sql);
		
		return result==1?true:false;
	}



	@Override
	public ArrayList<Review> getAllComment(String themename, String themeuser) {
		// TODO Auto-generated method stub
		ArrayList<Review> reviews=new ArrayList<Review>();
		
		
		DbUtil dbUtil=new DbUtil();
		String sql="select * from "+themename+""+themeuser+&#
### 回答1: 留言板一个常见的Web应用程序,可以使用JSPJavaBeanServlet来实现。以下是一个简单留言板的实现步骤: 1. 创建一个数据库表来存储留言信息,包括留言ID、留言者姓名、留言内容和留言时间等字段。 2. 创建一个JavaBean类来表示留言信息,包括留言ID、留言者姓名、留言内容和留言时间等属性,并提供相应的getter和setter方法。 3. 创建一个Servlet类来处理用户提交的留言信息,包括将留言信息保存到数据库中和显示已有的留言信息。 4. 创建一个JSP页面来显示留言板界面,包括一个表单用于提交留言信息和一个表格用于显示已有的留言信息。 5. 在JSP页面中使用JavaBean来表示留言信息,使用JSTL标签库来遍历留言信息列表并将其显示在表格中。 6. 在JSP页面中使用Servlet来处理用户提交的留言信息,包括将留言信息保存到数据库中并重新加载页面以显示最新的留言信息。 以上是使用JSPJavaBeanServlet完成一个简单留言板的基本步骤。当然,具体实现还需要根据具体需求进行调整和完善。 ### 回答2: 留言板的实现需要涉及到前端展示和后台数据存储两个方面。为了实现这一功能,我们可以使用 JSPJavaBeanServlet 三个技术来配合完成。 首先,设计前端界面,包括输入留言、展示留言列表等。然后,将前端界面和后端逻辑代码分离。对于前端,我们可以使用 JSP 技术来实现展示留言板界面,同时编写表单代码,用户可以在表单中输入留言信息。对于后端逻辑,我们使用 Servlet 来处理表单提交,将留言信息保存在数据库中,然后返回前端界面。 JavaBean 主要用于管理数据,我们可以定义一个 Message 对象作为留言数据,其中包含留言 ID、留言内容和留言时间。Servlet 用于处理用户的请求,当用户点击“提交”按钮时,Servlet 触发表单输入信息的提交事件,获取用户的提交信息,然后进行相应的逻辑处理,比如将提交的信息封装成 Message 对象,保存在数据库中。同时,Servlet 也负责读取数据库中的留言信息,将其返回给 JSP 页面进行展示。 在具体实现时,我们可以用 JDBC 技术连接数据库。确保我们已经配置好相应的数据源和驱动程序。为了避免 SQL 注入等安全问题,我们可以使用预编译语句来进行数据库操作。 总之,使用 JSPJavaBeanServlet 可以快速、高效地实现一个简单留言板。前端界面使用 JSP 技术实现,后端使用 ServletJavaBean 处理和管理数据。其中 Servlet 负责处理用户请求,JavaBean 负责管理留言数据,JSP 负责展示用户留言,实现了前后端分离的功能。整个项目需要考虑安全、代码复用以及代码结构的设计等问题,这也是一个不错的练手小项目。 ### 回答3: 留言板一个常见的Web应用程序,它允许用户提交评论并将其显示出来。使用JSPJavaBeanServlet可以轻松地创建一个简单留言板。 首先,我们需要创建一个数据库表来存储留言。这个表应该包括id、用户名、留言标题、留言内容以及留言时间等字段。然后,我们需要编写一个JavaBean来表示留言,该Bean应该具有相应的属性和方法。 接下来,我们需要编写一个Servlet来处理用户提交的留言。这个Servlet应该从表单中获取数据并将其插入到数据库表中。一旦留言被插入,我们可以重定向到一个JSP页面来显示所有留言。 在JSP页面中,我们可以使用JavaBean来获取所有留言并将它们显示在页面上。我们可以使用JSTL的<c:forEach>标签来遍历留言列表,并将每个留言的信息显示在页面上。 最后,我们还可以在JSP页面上添加一个表单,以便用户可以继续提交留言。当用户提交留言时,Servlet将再次获取和处理表单数据,然后将留言插入到数据库表中。 总而言之,使用JSPJavaBeanServlet可以非常方便地创建一个简单留言板。这些技术的组合使得我们可以轻松地处理表单提交和数据库交互,同时也允许我们在页面上显示动态内容。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值