精华内容
下载资源
问答
  • java web实现简单留言板功能
    2021-03-22 15:00:07

    本文实例为大家分享了java web实现简单留言板的具体代码,供大家参考,具体内容如下

    一、目标

    用户可以登录并记住密码进入留言板,添加留言,点击留言列表中的标题可显示该条留言全部内容。

    二、相关知识

    1、使用Cookie实现自动登录

    用户第一次登录网站,服务器将用户名和密码以Cookie的形式发送到客户端。当客户之后再次访问该网站时,浏览器自动将Cookie文件中的用户名和密码随请求一起发送到服务器,服务器从Cookie中取出用户名和密码并且通过验证。

    2、java类的定义与使用

    定义java类时注意属性的定义、构造方法的重写,定义两个方法,一个是访问方法(getter),一个是修改方法(setter)。

    三、实现思路

    1、登录

    输入用户名、密码登录,对应检测登录BoardLoginServlet

    可实现记住登录信息 Cookie实现

    登录成功显示留言板标题列表页面board-title.jsp,登录失败返回登录页面

    2、显示留言标题

    标题列表为上下文变量lists,其中标题为链接,点击可显示留言具体信息界面(跳转到MessageServlet处理)。

    list = username+":"+""+title+"";

    页面下方有新增留言的链接,点击后跳转到写留言页面

    新增留言

    3、添加留言

    输入标题、内容 post给WriteServlet

    4、显示留言具体信息

    在MessageServlet中遍历查找留言并传递变量,显示留言信息在board-message.jsp

    四、代码实现

    board-login.jsp

    登录界面

    昵称:

    密码:

    记住密码

    board-title.jsp

    留言板

    ${lists}

    新增留言

    boarrd-write.jsp

    标题:

    内容:

    board-message.jsp

    留言详情

    用户名:${name}

    标题:${title}

    内容:${text}

    时间:${date}

    Message.java(将留言信息存储在Message类中)

    package board;

    import java.util.Date;

    public class Message {

    private String title;//标题

    private String time;//时间

    private String username;//用户名

    private String text;//内容

    public Message(){}

    //初始化

    public Message(String title,String time,String username,String text){

    this.title = title;

    this.time = time;

    this.username = username;

    this.text = text;

    }

    public String getTitle(){

    return title;

    }

    public String getUsername(){

    return username;

    }

    public String getTime(){

    return time;

    }

    public String getText(){

    return text;

    }

    }

    BoardLoginServlet.java(用Cookie登录)

    package board;

    import javax.servlet.ServletException;

    import javax.servlet.http.*;

    import java.io.IOException;

    @javax.servlet.annotation.WebServlet(name = "BoardLoginServlet",urlPatterns = "/board.do")

    public class BoardLoginServlet extends HttpServlet {

    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

    }

    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

    response.setContentType("text/html;charset = utf-8");

    request.setCharacterEncoding("UTF-8");

    HttpSessionwww.cppcns.com session=request.getSession();

    String username = request.getParameter("username").trim();

    String password = request.getParameter("password").trim();

    session.setAttribute("username",username);

    if (!(username.equals("admin") &&password.equals("admin"))&&!(username.equals("123") &&password.equals("123"))) {

    response.sendRedirect("bwww.cppcns.comalue1 = cookie.getValue();

    if (cookie.getName().equals("password"))

    value2 = cookie.getValue();

    }

    if (value1.equals("admin") && value2.equals("admin")||value1.equals("123") && value2.equals("123")) {

    response.sendRedirect("board-title.jsp");

    } else {

    response.sendRedirect("board-login.jsp");

    }

    }

    }

    else

    {

    response.sendRedirect("board-title.jsp");

    }

    }

    }

    }

    WriteServlet.java(新增留言)

    package board;

    import javax.servlet.RequestDispatcher;

    import javax.servlet.ServletContext;

    import javax.servlet.ServletException;

    import javax.servlet.annotation.WebServlet;

    import javax.servlet.http.*;

    import java.io.IOException;

    import java.text.SimpleDateFormat;

    import java.util.ArrayList;

    import java.util.Date;

    import java.util.List;

    @WebServlet(name = "WriteServlet",urlPatterns = "/write.do")

    public class WriteServlet extends HttpServlet {

    //messages列表中存放Message类对象

    public List messages = new ArrayList();

    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

    response.setContentType("text/html;charset=utf-8");

    ServletContext context = request.getServletContext();

    HttpSession session = request.getSession();

    //用户名存储到session中

    String username =(String)session.getAttribute("username");

    String title = request.getParameter("title");

    String text = request.getParameter("text");

    //获取当前时间

    SimpleDateFormat formatter= new SimpleDateFormat("yyyy-MM-dd 'at' HH:mm:ss");

    Date date = new Date(System.currentTimeMillis());

    String time = formatter.format(date);

    //在messages列表中添加留言对象

    messages.add(new Message(title,time,username,text));

    context.setAttribute("messages",messages);

    String list = new String();

    //list中存放留言用户名+留言标题,标题为链接,可跳转到留言具体信息,并传参title

    list = username+":"+""+title+"";

    String lists = new String();

    //将留言标题列表信息存到上下文对象

    if(context.getAttribute("lists")!=null){

    lists = context.getAttribute("lists") + list + "
    ";

    }

    else{

    lists = list + "
    ";

    }

    context.setAttribute("lists", lists);

    request.setAttribute("lists", lists);

    //转发

    RequestDispatcher dispatcher = request.getRequestDispatcher("/board-title.jsp");

    dispatcher.forward(request, response);

    }

    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

    }

    }

    MessageServlet.java

    package board;

    import com.sun.net.httpserver.HttpContext;

    import javax.servlet.RequestDispatcher;

    import javax.servlet.ServletContext;

    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 java.io.IOException;

    import java.io.PrintWriter;

    import java.util.ArrayList;

    import java.util.List;

    @WebServlet(name = "MessageServlet",urlPatterns = "/MessageServletwww.cppcns.com")

    public class MessageServlet extends HttpServlet {

    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

    }

    protected void doGet(HttpServletReque编程客栈st request, HttpServletResponse response) throws ServletException, IOException {

    response.setContentType("text/html;charset=utf-8");

    ServletContext context = request.getServletContext();

    List messages = new ArrayList();

    //获取列表

    messages = (List)context.getAttribute("messages");

    //获取链接中的参数title

    String title =request.getParameter("title");

    String name = new String();

    String date = new String();

    String text = new String();

    //遍历列表,查找该title的具体信息

    for(Message message : messages){

    if((message.getTitle()).equals(title)){

    name = message.getUsername();

    date = message.getTime();

    text = message.getText();

    title = message.getTitle();

    request.setAttribute("name",name);

    request.setAttribute("title",title);

    request.setAttribute("text",text);

    request.setAttribute("date",date);

    break;

    }

    }

    //将留言信息转发到board-message.jsp

    RequestDispatcher dispatcher = request.getRequestDispatcher("/board-message.jsp");

    dispatcher.forward(request, response);

    }

    }

    (以上仅为部分代码)

    以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。

    本文标题: java web实现简单留言板功能

    本文地址: http://www.cppcns.com/ruanjian/java/366106.html

    更多相关内容
  • Web动态留言板实现

    2015-04-15 13:50:47
    Web动态留言板实现实现了用户登录,用户注册,信息校对,留言,时事更新等功能。
  • 主要为大家详细介绍了JSP+JavaBean的留言板技术,JavaWeb登陆功能实现代码,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
  • 用IDEA和MYSQL实现WEB动态留言。用户未登录时只能查看留言,用户登录后显示用户名,用户可以查看,发布和修改留言。内附源代码和数据库。
  • 留言板是在刚接触php时用来学习的一个简单的应用例子了,今天我再给初学php的朋友提供一个完整的php留言板的全部制作过程,希望对你会有帮助
  • c#实现web留言板ppt

    2018-09-26 15:24:15
    c#实现web留言板ppt1、 管理员(权限为1):管理员在前台页面通过验证后,可以直接登录到后台管理页面,对留言进行增删查改等操作。
  • 使用的开发语言asp.net,数据库为SQL Server2012,能够实现留言功能的简洁的留言板还有简单的注册登录功能实现,开发工具是VS2017
  • Java Web在线留言板

    2021-03-02 11:06:55
    学习Java Web有一段时间了,借此机会和大家分享一个小东西——在线留言系统,虽然low,小喷即可,大喷伤心,还是希望大家的指正和意见,话不多说,直接上:第一步:①.写一个注册页面,这一个页面主要是用户的输入,...

    学习Java Web有一段时间了,借此机会和大家分享一个小东西——在线留言系统,虽然low,小喷即可,大喷伤心,还是希望大家的指正和意见,话不多说,直接上:

    第一步:

    ①.写一个注册页面,这一个页面主要是用户的输入,比较简单,代码如下:

    regist.jsp

    pageEncoding="GBK"%>

    注册页面

    用户名:

    密码:

    效果如图:

    00bbdcd8d698?open=1

    这里写图片描述

    ②.下面这个页面主要负责用来处理业务逻辑以及显示注册的结果,代码如下:

    registdo.jsp

    pageEncoding="GBK"%>

    留言板

    request.setCharacterEncoding("GBK");

    response.setContentType("text/html;charset=gbk");

    /* PrintWriter out = response.getWriter(); */

    String username = request.getParameter("username");

    String userpass = request.getParameter("userpass");

    ServletContext ctx = this.getServletContext();

    String server = ctx.getInitParameter("server");

    String dbname = ctx.getInitParameter("dbname");

    String dbuser = ctx.getInitParameter("dbuser");

    String dbpwd = ctx.getInitParameter("dbpwd");

    UserDao dao = new UserDao();

    User user = new User();

    user.setUsername(username);

    user.setUserpass(userpass);

    try{

    dao.getConn(server, dbname, dbuser, dbpwd);

    if(dao.addUser(user)){

    out.println("注册成功");

    out.println("返回登陆");

    }else{

    out.println("注册失败");

    out.println("返回注册");

    }

    }catch(Exception e){

    e.printStackTrace();

    }

    %>

    效果如图:

    00bbdcd8d698?open=1

    这里写图片描述

    ①.这一步写个登录页面,主要用来接收用户输入的登录信息:代码如下:

    login.jsp

    pageEncoding="GBK"%>

    留言板

    用户名:

    密码:

    效果如图

    00bbdcd8d698?open=1

    这里写图片描述

    ②.这一步是需要写登录的逻辑及验证,并显示登录的结果,代码如下

    logindo.jsp

    pageEncoding="gbk"%>

    留言板

    request.setCharacterEncoding("GBK");

    response.setContentType("text/html;charset=GBK");

    String username = request.getParameter("username");

    String userpass = request.getParameter("userpass");

    ServletContext ctx = request.getServletContext();

    String server = ctx.getInitParameter("server");

    String dbname = ctx.getInitParameter("dbname");

    String dbuser = ctx.getInitParameter("dbuser");

    String dbpwd = ctx.getInitParameter("dbpwd");

    DBOper db = new DBOper();

    String sql = "SELECT * FROM user Where username = ? AND userpass = ?";

    try{

    db.getConn(server, dbname, dbuser, dbpwd);

    ResultSet rs = db.executeQuery(sql, new String[]{username,userpass});

    if(rs!= null && rs.next()){

    session.setAttribute("username", username);

    Cookie cookie = new Cookie("username",username);

    cookie.setMaxAge(60*60*24*30);

    response.addCookie(cookie);

    RequestDispatcher dispatcher = request.getRequestDispatcher("userlist.jsp");

    dispatcher.forward(request, response);

    }else{

    out.println("登录失败!");

    out.println("重新登录");

    }

    }catch(Exception e){

    e.printStackTrace();

    }finally{

    db.closeAll();

    }

    %>

    效果如图

    00bbdcd8d698?open=1

    这里写图片描述

    前台的注册及登录页面到此已完成,下面我们接着做后台的数据

    第二步

    ①.我们需要User类封装用户的信息,代码如下:

    User.Java

    package com.szx.jnmc;

    public class User {

    private int id;

    private String username;

    private String userpass;

    private String phone;

    private String email;

    public int getId() {

    return id;

    }

    public void setId(int id) {

    this.id = id;

    }

    public String getUsername() {

    return username;

    }

    public void setUsername(String username) {

    this.username = username;

    }

    public String getUserpass() {

    return userpass;

    }

    public void setUserpass(String userpass) {

    this.userpass = userpass;

    }

    public String getPhone() {

    return phone;

    }

    public void setPhone(String phone) {

    this.phone = phone;

    }

    public String getEmail() {

    return email;

    }

    public void setEmail(String email) {

    this.email = email;

    }

    }

    ②.有了User类,就需要进行数据库的访问,这时候我们需要一个连接数据库的基础类,所有与连接数据库的类都要 继承于此,代码如下:

    DBOper.Java

    public Connection conn = null;

    public PreparedStatement ps = null;

    public ResultSet rs = null;

    /**

    * 连接数据库

    * @param server

    * @param dbname

    * @param dbuser

    * @param dbpwd

    * @return

    * @throws SQLException

    * @throws ClassNotFoundException

    */

    public Connection getConn(String server,String dbname,String dbuser,String dbpwd) throws SQLException, ClassNotFoundException{

    String DRIVER = "com.mysql.jdbc.Driver";

    String URL = "jdbc:mysql://" + server + ":3306/" + dbname + "?user="

    + dbuser + "&password=" +dbpwd+"&useUnicode=true&characterEncoding=utf8";

    Class.forName(DRIVER);

    conn = DriverManager.getConnection(URL);

    return conn;

    }

    /**

    * 关闭数据库连接

    */

    public void closeAll(){

    try{

    if(rs != null){

    rs.close();

    }

    }catch(SQLException e){

    e.printStackTrace();

    }finally{

    try{

    if(ps != null){

    ps.close();

    }

    }catch(SQLException e){

    e.printStackTrace();

    }finally{

    try{

    if(conn != null){

    conn.close();

    }

    }catch(SQLException e){

    e.printStackTrace();

    }

    }

    }

    }

    /**

    * 执行SQL语句,只进行查询,不进行增删改

    * @param preparedsql

    * @param param

    * @return

    */

    public ResultSet executeQuery(String preparedsql,String[]param){

    try{

    ps = conn.prepareStatement(preparedsql);

    if(param != null){

    for (int i = 0; i < param.length; i++) {

    ps.setString(i + 1, param[i]);

    }

    }

    rs = ps.executeQuery();

    }catch(SQLException e){

    e.printStackTrace();

    }

    return rs;

    }

    /**

    * 执行sql语句,进行增删改,不进行查询

    * @param preparedsql

    * @param param

    * @return

    */

    public int executeUpdate(String preparedsql,String[]param){

    int num = 0;

    try{

    ps = conn.prepareStatement(preparedsql);

    if(param != null){

    for (int i = 0; i < param.length; i++) {

    ps.setString(i + 1, param[i]);

    }

    }

    num = ps.executeUpdate();

    }catch(SQLException e){

    e.printStackTrace();

    }

    return num;

    }

    }

    ③.写完了数据库操作对象类,就要写用户 操作对象类代码如下,

    UserDao.Java

    package com.szx.jnmc;

    import java.sql.ResultSet;

    import java.sql.SQLException;

    import java.util.ArrayList;

    import java.util.List;

    public class UserDao extends DBOper{

    /**

    * 获取所有用户列表

    * @return

    */

    public List getAllUser(){

    List userList = new ArrayList();

    String sql = "Select *from user";

    try{

    ResultSet rs = this.executeQuery(sql,null);

    while(rs.next()){

    User user = new User();

    user.setUsername(rs.getString("username"));

    user.setUserpass(rs.getString("userpass"));

    userList.add(user);

    }

    }catch(SQLException e){

    e.printStackTrace();

    }

    return userList;

    }

    /**

    * 根据用户名获取用户信息

    * @param name

    * @return

    */

    public User getUserByName(String name){

    User user = new User();

    String sql = "SELECT * FROM user Where username = ?";

    try{

    ResultSet rs = this.executeQuery(sql, new String []{name});

    if(rs.next()){

    user.setEmail(rs.getString("email"));

    user.setId(rs.getInt("id"));

    user.setPhone(rs.getString("phone"));

    user.setUsername(rs.getString("username"));

    user.setUserpass(rs.getString("userpass"));

    }

    }catch(SQLException e){

    e.printStackTrace();

    }

    return user;

    }

    /**

    * 添加用户

    * @param user

    * @return

    */

    public boolean addUser(User user){

    boolean r = false;

    String sql = "INSERT INTO user(username,userpass)VALUES(?,?)";

    try{

    int num = this.executeUpdate(sql,new String []{user.getUsername(),user.getUserpass()});

    if(num > 0){

    r = true;

    }

    }catch(Exception e){

    e.printStackTrace();

    }

    return r;

    }

    }

    ④.我们的留言Message类,代码如下:

    Message.Java

    package com.szx.jnmc;

    public class Message {

    private int messageid;

    private String title;

    private String context;

    private String lefttime;

    private String wholeft;

    public String getWholeft() {

    return wholeft;

    }

    public void setWholeft(String wholeft) {

    this.wholeft = wholeft;

    }

    public int getMessageid() {

    return messageid;

    }

    public void setMessageid(int messageid) {

    this.messageid = messageid;

    }

    public String getTitle() {

    return title;

    }

    public void setTitle(String title) {

    this.title = title;

    }

    public String getContext() {

    return context;

    }

    public void setContext(String context) {

    this.context = context;

    }

    public String getLefttime() {

    return lefttime;

    }

    public void setLefttime(String lefttime) {

    this.lefttime = lefttime;

    }

    }

    ⑤.留言数据操作对象MsgDao类,代码如下:

    MsgDao.Java

    package com.szx.jnmc;

    import java.sql.ResultSet;

    import java.sql.SQLException;

    import java.util.ArrayList;

    import java.util.List;

    public class MsgDao extends DBOper {

    /**

    * 获取所有留言

    * @return

    */

    public List getAllMsg(){

    List msglist = new ArrayList();

    String sql = "SELECT * FROM message";

    try{

    ResultSet rs = this.executeQuery(sql, null);

    while(rs.next()){

    Message msg = new Message();

    msg.setMessageid(rs.getInt("messageid"));

    msg.setContext(rs.getString("context"));

    msg.setLefttime(rs.getString("lefttime"));

    msg.setTitle(rs.getString("title"));

    msg.setWholeft(rs.getString("wholeft"));

    msglist.add(msg);

    }

    }catch(SQLException e){

    e.printStackTrace();

    }finally{

    this.closeAll();

    }

    return msglist;

    }

    public Message getMsgById(String id){

    Message msg = null;

    String sql = "SELECT * FROM message WHERE messageid = ?";

    try{

    ResultSet rs = this.executeQuery(sql, new String[]{id});

    if(rs.next()){

    msg = new Message();

    msg.setContext(rs.getString("context"));

    msg.setLefttime(rs.getString("lefttime"));

    msg.setMessageid(rs.getInt("messageid"));

    msg.setTitle(rs.getString("title"));

    msg.setWholeft(rs.getString("wholeft"));

    }

    }catch(SQLException e){

    e.printStackTrace();

    }

    return msg;

    }

    /**

    * 添加留言

    * @param msg

    * @return

    */

    public boolean addMsg(Message msg){

    boolean r = false;

    String sql = "INSERT INTO message(title,context,wholeft,lefttime)VALUES(?,?,?,?) ";

    try{

    int num = this.executeUpdate(sql, new String[]{msg.getTitle(),msg.getContext(),msg.getWholeft(),msg.getLefttime()});

    if(num > 0){

    r = true;

    }

    }catch(Exception e){

    e.printStackTrace();

    }finally{

    this.closeAll();

    }

    return r;

    }

    /**

    * 修改留言信息

    * @param msg

    * @return

    */

    public boolean editMsg(Message msg){

    boolean r = false;

    String sql = "UPDATE message SET context = ?,title =?,lefttime = ?,wholeft=? WHERE messageid ="+msg.getMessageid();

    try{

    int num = this.executeUpdate(sql,new String[]{msg.getContext(), msg.getTitle(), msg.getLefttime(), msg.getWholeft()});

    System.out.println("num:"+num);

    if(num > 0){

    r = true;

    }

    }catch(Exception e){

    e.printStackTrace();

    }

    return r;

    }

    /**

    * 根据消息Id删除留言

    * @param id

    * @return

    */

    public boolean delMsg(int id){

    boolean r = false;

    String sql = "DELETE FROM message WHERE messageid = ?";

    try{

    int num = this.executeUpdate(sql, new String[]{""+id});

    if(num > 0){

    r = true;

    }

    }catch(Exception e){

    e.printStackTrace();

    }

    return r;

    }

    }

    ⑥.回复Reply类,代码如下:

    Reply.Java

    package com.szx.jnmc;

    public class Reply {

    private String context;

    private int messageid;

    public int getMessageid() {

    return messageid;

    }

    public void setMessageid(int messageid) {

    this.messageid = messageid;

    }

    public String getContext() {

    return context;

    }

    public void setContext(String context) {

    this.context = context;

    }

    }

    ⑦.Reply的数据操作对象类,代码如下:

    ReplyDao.Java

    package com.szx.jnmc;

    import java.sql.ResultSet;

    import java.sql.SQLException;

    import java.util.ArrayList;

    import java.util.List;

    public class ReplyDao extends DBOper{

    /**

    * 获取所有留言

    * @return

    */

    public List getAllReply(){

    Reply reply = null;

    Listreplylist = new ArrayList();

    String sql = "SELECT * FROM reply";

    try{

    ResultSet rs = this.executeQuery(sql, null);

    while(rs.next()){

    reply = new Reply();

    reply.setContext(rs.getString("context"));

    replylist.add(reply);

    }

    }catch(SQLException e){

    e.printStackTrace();

    }finally{

    this.closeAll();

    }

    return replylist;

    }

    /**

    * 添加回复

    * @param reply

    * @return

    */

    public boolean addReply(Reply reply){

    boolean r = false;

    String sql = "INSERT INTO reply(context,messageid)VALUES(?,?)";

    try{

    int num = this.executeUpdate(sql, new String[]{reply.getContext(),""+reply.getMessageid()});

    if(num > 0){

    r = true;

    }

    }catch(Exception e){

    e.printStackTrace();

    }finally{

    this.closeAll();

    }

    return r;

    }

    }

    第二步到此结束,这一步主要是对数据的封装和连接数据库。

    第三步:

    ①.显示用户列表

    userlist.jsp

    pageEncoding="GBK"%>

    留言板

    request.setCharacterEncoding("GBK");

    response.setContentType("text/html;char=gbk");

    ServletContext ctx = request.getServletContext();

    String server = ctx.getInitParameter("server");

    String dbname = ctx.getInitParameter("dbname");

    String dbuser = ctx.getInitParameter("dbuser");

    String dbpwd = ctx.getInitParameter("dbpwd");

    List userlist = new ArrayList();

    UserDao dao = new UserDao();

    try{

    dao.getConn(server,dbname,dbuser,dbpwd);

    }catch(Exception e){

    e.printStackTrace();

    }

    userlist = dao.getAllUser();

    pageContext.setAttribute("userlist", userlist);

    %>

    id="senfe" style='width: 50%'>

    序号用户名操作

    ${status.count }${user.username}

    href="addmsg.jsp?username=${user.username}">留言

    效果如图

    00bbdcd8d698?open=1

    这里写图片描述

    ②.在用户列表里我们点击“留言”就可以对用户留言,页面将跳转到留言页面,如下:

    addmsg.jsp

    pageEncoding="GBK"%>

    留言板

    留言人:

    留言主题:

    留言内容:

    效果如图:

    00bbdcd8d698?open=1

    这里写图片描述

    ③.留言页面的数据处理,代码如下:

    addOK.jsp

    pageEncoding="GBK"%>

    留言板

    request.setCharacterEncoding("GBK");

    response.setContentType("text/html;charset=GBK");

    String wholeft = request.getParameter("wholeft");

    String title = request.getParameter("title");

    String context = request.getParameter("context");

    ServletContext ctx = request.getServletContext();

    String server = ctx.getInitParameter("server");

    String dbname = ctx.getInitParameter("dbname");

    String dbuser = ctx.getInitParameter("dbuser");

    String dbpwd = ctx.getInitParameter("dbpwd");

    SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");

    Date curtime = new Date();

    String lefttime = sdf.format(curtime);

    Message msg = new Message();

    msg.setContext(context);

    msg.setLefttime(lefttime);

    msg.setTitle(title);

    msg.setWholeft(wholeft);

    MsgDao dao = new MsgDao();

    try{

    dao.getConn(server, dbname, dbuser, dbpwd);

    if(dao.addMsg(msg)){

    out.println("留言成功!");

    out.println("查看留言");

    }else{

    out.println("留言失败!");

    }

    }catch(ClassNotFoundException e){

    e.printStackTrace();

    }

    %>

    效果如图:

    00bbdcd8d698?open=1

    这里写图片描述

    ④.点击“查看留言”,将跳转到showmsg.jsp页面,代码如下:

    showmsg.jsp

    pageEncoding="GBK"%>

    留言板

    request.setCharacterEncoding("GBK");

    response.setContentType("text/html;charset=GBK");

    ServletContext ctx = request.getServletContext();

    String server = ctx.getInitParameter("server");

    String dbname = ctx.getInitParameter("dbname");

    String dbuser = ctx.getInitParameter("dbuser");

    String dbpwd = ctx.getInitParameter("dbpwd");

    MsgDao dao = new MsgDao();

    List msglist = new ArrayList();

    try{

    dao.getConn(server,dbname,dbuser,dbpwd);

    }catch(Exception e){

    e.printStackTrace();

    }

    msglist = dao.getAllMsg();

    if(msglist!=null){

    application.setAttribute("msglist",msglist);

    }

    %>

    id="senfe" style='width: 80%'>

    留言序号留言ID留言人主题留言内容操作

    ${status.count }${msg.messageid}${msg.wholeft}${msg.title}${msg.context}

    回复

    编辑

    删除

    效果如图:

    00bbdcd8d698?open=1

    这里写图片描述

    ⑤.点击页面中的“回复”将跳转到reply.jsp,代码如下:

    reply.jsp

    pageEncoding="GBK"%>

    回复页面

    String messageid = request.getParameter("messageid");

    if(messageid != null || messageid.equals("")){

    pageContext.setAttribute("messageid", messageid);

    }

    %>

    内容:

    效果如图:

    00bbdcd8d698?open=1

    这里写图片描述

    ⑥.输入回复数据,点击提交转到回复结果replydo.jsp页面,代码如下:

    replydo.jsp

    pageEncoding="GBK"%>

    回复留言

    request.setCharacterEncoding("GBK");

    response.setContentType("text/html;charset=GBK");

    String messageid = request.getParameter("id");

    String context = request.getParameter("context");

    ServletContext ctx = request.getServletContext();

    String server = ctx.getInitParameter("server");

    String dbname = ctx.getInitParameter("dbname");

    String dbuser = ctx.getInitParameter("dbuser");

    String dbpwd = ctx.getInitParameter("dbpwd");

    Reply reply = new Reply();

    ReplyDao dao = new ReplyDao();

    reply.setContext(context);

    try{

    dao.getConn(server, dbname, dbuser, dbpwd);

    if(dao.addReply(reply)){

    out.println("回复成功!");

    out.println("返回留言列表");

    }else{

    out.println("回复失败!");

    out.println("重新回复");

    }

    }catch(Exception e){

    e.printStackTrace();

    }

    %>

    效果如图:

    00bbdcd8d698?open=1

    这里写图片描述

    ⑦.点击返回留言列表,转到留言列表showmsg.jsp页面,进行编辑,代码如下:

    editmsg.jsp

    pageEncoding="GBK"%>

    修改留言

    String messageid = request.getParameter("messageid");

    request.setCharacterEncoding("GBK");

    response.setContentType("text/html;charset=GBK");

    ServletContext ctx = request.getServletContext();

    String server = ctx.getInitParameter("server");

    String dbname = ctx.getInitParameter("dbname");

    String dbuser = ctx.getInitParameter("dbuser");

    String dbpwd = ctx.getInitParameter("dbpwd");

    MsgDao dao = new MsgDao();

    try{

    dao.getConn(server, dbname, dbuser, dbpwd);

    Message msg = dao.getMsgById(messageid);

    if(msg != null){

    pageContext.setAttribute("msg", msg);

    }

    }catch(Exception e){

    e.printStackTrace();

    }

    %>

    主题:
    内容:

    --%>

    日期: ${msg.lefttime }

    --%>

    留言人: ${msg.wholeft}

    --%>

    留言id:

    效果如图:

    00bbdcd8d698?open=1

    这里写图片描述

    ⑧.点击提交,跳转到 编辑结果页面editmsgdo.jsp,代码如下:

    editmsgdo.jsp

    pageEncoding="GBK"%>

    修改留言

    request.setCharacterEncoding("GBK");

    response.setContentType("text/html;charset=GBK");

    String title = request.getParameter("title");

    String context = request.getParameter("context");

    String messageid = request.getParameter("messageid");

    String lefttime = request.getParameter("lefttime");

    String wholeft = request.getParameter("wholeft");

    ServletContext ctx = request.getServletContext();

    String server = ctx.getInitParameter("server");

    String dbname = ctx.getInitParameter("dbname");

    String dbuser = ctx.getInitParameter("dbuser");

    String dbpwd = ctx.getInitParameter("dbpwd");

    MsgDao dao = new MsgDao();

    Message msg = new Message();

    msg.setContext(context);

    msg.setTitle(title);

    msg.setLefttime(lefttime);

    msg.setWholeft(wholeft);

    try{

    dao.getConn(server,dbname,dbuser,dbpwd);

    if(dao.editMsg(msg)){

    out.println("修改成功");

    out.println("返回留言列表");

    }else{

    out.println("修改失败");

    out.println("重新修改");

    }

    }catch(Exception e){

    e.printStackTrace();

    }

    %>

    效果如图:

    00bbdcd8d698?open=1

    这里写图片描述

    ⑨.点击“返回留言列表 ”回到留言列表页面,点击删除则直接删除留言,代码如下:

    delmsg.jsp

    pageEncoding="GBK"%>

    留言板

    request.setCharacterEncoding("GBK");

    response.setContentType("text/html;charset=GBK");

    ServletContext ctx = request.getServletContext();

    String server = ctx.getInitParameter("server");

    String dbname = ctx.getInitParameter("dbname");

    String dbuser = ctx.getInitParameter("dbuser");

    String dbpwd = ctx.getInitParameter("dbpwd");

    MsgDao dao = new MsgDao();

    try{

    String messageid = request.getParameter("messageid");

    dao.getConn(server,dbname,dbuser,dbpwd);

    if(dao.delMsg(Integer.parseInt(messageid))){

    out.println("删除成功");

    response.sendRedirect("showmsg.jsp");

    }else

    {

    out.println("删除失败");

    }

    }catch(Exception e){

    e.printStackTrace();

    }

    %>

    数据表的创建SQL语句:

    user表:

    CREATE TABLE `user` (

    `username` varchar(255) NOT NULL,

    `userpass` varchar(255) NOT NULL,

    `phone` varchar(255) DEFAULT NULL,

    `email` varchar(255) DEFAULT NULL,

    `userid` int(11) NOT NULL AUTO_INCREMENT,

    PRIMARY KEY (`userid`)

    ) ENGINE=InnoDB AUTO_INCREMENT=32 DEFAULT CHARSET=utf8;

    message表:

    CREATE TABLE `message` (

    `messageid` int(11) NOT NULL AUTO_INCREMENT,

    `title` varchar(255) DEFAULT NULL,

    `context` varchar(255) DEFAULT NULL,

    `wholeft` varchar(255) DEFAULT NULL,

    `lefttime` datetime DEFAULT NULL ON UPDATE CURRENT_TIMESTAMP,

    PRIMARY KEY (`messageid`)

    ) ENGINE=InnoDB AUTO_INCREMENT=25 DEFAULT CHARSET=utf8;

    reply表:

    CREATE TABLE `reply` (

    `context` varchar(255) DEFAULT NULL,

    `messageid` int(11) NOT NULL AUTO_INCREMENT,

    PRIMARY KEY (`messageid`)

    ) ENGINE=InnoDB AUTO_INCREMENT=14 DEFAULT CHARSET=utf8;

    附上工程的结构图:

    00bbdcd8d698?open=1

    这里写图片描述

    至此我们的主要功能已经完成,页面非常low。

    展开全文
  • jsp+Mysql实现简单的留言板功能,可留言,可查看留言;可回复留言,可查看回复留言。内含源码、数据库和说明文档,可运行。简单勿喷,谢谢。
  • JSP实现留言板系统

    2018-06-25 10:05:51
    通过综合运用JSP、Servlet、JavaBean、JDBC、MySQL和MVC + DAO等技术与方法,设计与实现一个留言管理系统,进一步理解和掌握Java Web编程开发的基本技术和方法,熟练使用开发工具。 二、课程设计内容 设计留言管理...
  • 基于Flask的留言板Demo

    2018-07-31 15:53:47
    本项目基于Flask框架开发完成了一款留言板,其功能包括登录、注册、注销和留言,另外主页会滑动显示留言的功能,当然未登录是不能进行留言的。
  • 文章目录一、目标二、相关知识三、实现思路四、代码实现 一、目标 用户可以登录并记住密码进入留言板,添加留言,点击留言列表中的标题可显示该条留言全部内容。 二、相关知识 使用Cookie实现自动登录 用户第一次...

    一、目标

    用户可以登录并记住密码进入留言板,添加留言,点击留言列表中的标题可显示该条留言全部内容。

    二、实现

    留言板首页标题列表
    留言板标题列表

    点击留言标题显示留言详情

    在这里插入图片描述

    三、相关知识

    1. 使用Cookie实现自动登录
      用户第一次登录网站,服务器将用户名和密码以Cookie的形式发送到客户端。当客户之后再次访问该网站时,浏览器自动将Cookie文件中的用户名和密码随请求一起发送到服务器,服务器从Cookie中取出用户名和密码并且通过验证。
    2. java类的定义与使用
      定义java类时注意属性的定义、构造方法的重写,定义两个方法,一个是访问方法(getter),一个是修改方法(setter)。

    四、实现思路

    1. 登录
    输入用户名、密码登录,对应检测登录BoardLoginServlet
    可实现记住登录信息 Cookie实现
    登录成功显示留言板标题列表页面board-title.jsp,登录失败返回登录页面

    2. 显示留言标题
    标题列表为上下文变量lists,其中标题为链接,点击可显示留言具体信息界面(跳转到MessageServlet处理)。

     list = username+":"+"<a href='MessageServlet?title="+title+"'target='_parent'>"+title+"</a>";
    

    页面下方有新增留言的链接,点击后跳转到写留言页面

     <a href="board-write.jsp">新增留言</a>
    

    3. 添加留言
    输入标题、内容 post给WriteServlet

    4. 显示留言具体信息
    在MessageServlet中遍历查找留言并传递变量,显示留言信息在board-message.jsp

    五、代码实现

    1. board-login.jsp

    <form action="board.do" method="post">
        <br>
        <h1 class="text" >登录界面</h1>
                昵称:<input type="text" name="username" value="${cookie.username.value}"/><br>
                密码:<input type="password" name="password" value="${cookie.password.value}"/><br><br>
                <input type="checkbox" name="check" value="check"/>记住密码<br>  <br>
                <input type="submit" value="登录"/>
                <input type="reset" value="取消"/>
    </form>
    

    2. board-title.jsp

     <h2>留言板</h2>
        ${lists}
        <a href="board-write.jsp">新增留言</a>
    

    3. boarrd-write.jsp

    <form action="write.do" method="post">
        标题:<input type="text" name="title"/><br>
        内容:<input type="text" name="text"/><br>
        <input type="submit"/>
    </form>
    

    4. board-message.jsp

    <h2>留言详情</h2>
        用户名:${name}<br>
        标题:${title}<br>
        内容:${text}<br>
        时间:${date}<br>
    

    5. Message.java(将留言信息存储在Message类中)

    package board;
    
    import java.util.Date;
    
    public class Message {
        private String title;//标题
        private String time;//时间
        private String username;//用户名
        private String text;//内容
        public Message(){}
        //初始化
        public Message(String title,String time,String username,String text){
            this.title = title;
            this.time = time;
            this.username = username;
            this.text = text;
        }
    
        public String getTitle(){
            return title;
        }
        public String getUsername(){
            return username;
        }
        public String getTime(){
            return time;
        }
        public String getText(){
            return text;
        }
    }
    
    
    

    6. BoardLoginServlet.java(用Cookie登录)

    package board;
    
    import javax.servlet.ServletException;
    import javax.servlet.http.*;
    import java.io.IOException;
    
    @javax.servlet.annotation.WebServlet(name = "BoardLoginServlet",urlPatterns = "/board.do")
    public class BoardLoginServlet extends HttpServlet {
    
        protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
    
        }
        protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
            response.setContentType("text/html;charset = utf-8");
            request.setCharacterEncoding("UTF-8");
            HttpSession session=request.getSession();
            String username = request.getParameter("username").trim();
            String password = request.getParameter("password").trim();
            session.setAttribute("username",username);
            if (!(username.equals("admin") &&password.equals("admin"))&&!(username.equals("123") &&password.equals("123"))) {
                response.sendRedirect("board-login.jsp");
            } else {
    
                if ((request.getParameter("check") != null) && (request.getParameter("check").equals("check"))) {
                    Cookie nameCookie = new Cookie("username", username);
                    Cookie pswdCookie = new Cookie("password", password);
                    nameCookie.setMaxAge(60 * 60);
                    pswdCookie.setMaxAge(60 * 60);
                    nameCookie.setPath("/");
                    pswdCookie.setPath("/");
                    response.addCookie(nameCookie);
                    response.addCookie(pswdCookie);
                    String value1 = "", value2 = "";
                    Cookie cookie = null;
                    Cookie[] cookies = request.getCookies();
                    if (cookies != null) {
                        for (int i = 0; i < cookies.length; i++) {
                            cookie = cookies[i];
                            if (cookie.getName().equals("username"))
                                value1 = cookie.getValue();
                            if (cookie.getName().equals("password"))
                                value2 = cookie.getValue();
                        }
                        if (value1.equals("admin") && value2.equals("admin")||value1.equals("123") && value2.equals("123")) {
                            response.sendRedirect("board-title.jsp");
                        } else {
                            response.sendRedirect("board-login.jsp");
                        }
    
                    }
                }
                else
                {
                    response.sendRedirect("board-title.jsp");
                }
            }
    
        }
    }
    
    

    7. WriteServlet.java(新增留言)

    package board;
    
    import javax.servlet.RequestDispatcher;
    import javax.servlet.ServletContext;
    import javax.servlet.ServletException;
    import javax.servlet.annotation.WebServlet;
    import javax.servlet.http.*;
    import java.io.IOException;
    import java.text.SimpleDateFormat;
    import java.util.ArrayList;
    import java.util.Date;
    import java.util.List;
    
    @WebServlet(name = "WriteServlet",urlPatterns = "/write.do")
    public class WriteServlet extends HttpServlet {
    	//messages列表中存放Message类对象
        public List<Message> messages = new ArrayList<Message>();
        protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
            response.setContentType("text/html;charset=utf-8");
            ServletContext context = request.getServletContext();
            HttpSession session = request.getSession();
            //用户名存储到session中
            String username =(String)session.getAttribute("username");
            String title = request.getParameter("title");
            String text = request.getParameter("text");
            //获取当前时间
            SimpleDateFormat formatter= new SimpleDateFormat("yyyy-MM-dd 'at' HH:mm:ss");
            Date date = new Date(System.currentTimeMillis());
            String time = formatter.format(date);
    		//在messages列表中添加留言对象
            messages.add(new Message(title,time,username,text));
            context.setAttribute("messages",messages);
    
            String list = new String();
            //list中存放留言用户名+留言标题,标题为链接,可跳转到留言具体信息,并传参title
            list = username+":"+"<a href='MessageServlet?title="+title+"'target='_parent'>"+title+"</a>";
            String lists = new String();
            //将留言标题列表信息存到上下文对象
            if(context.getAttribute("lists")!=null){
                lists = context.getAttribute("lists") + list + "<br>";
            }
            else{
                lists = list + "<br>";
            }
            context.setAttribute("lists", lists);
            request.setAttribute("lists", lists);
    		//转发
            RequestDispatcher dispatcher = request.getRequestDispatcher("/board-title.jsp");
            dispatcher.forward(request, response);
    
        }
    
        protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
    
        }
    }
    
    

    8. MessageServlet.java

    package board;
    
    import com.sun.net.httpserver.HttpContext;
    
    import javax.servlet.RequestDispatcher;
    import javax.servlet.ServletContext;
    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 java.io.IOException;
    import java.io.PrintWriter;
    import java.util.ArrayList;
    import java.util.List;
    
    @WebServlet(name = "MessageServlet",urlPatterns = "/MessageServlet")
    public class MessageServlet extends HttpServlet {
        protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
    
        }
    
        protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
            response.setContentType("text/html;charset=utf-8");
            ServletContext context = request.getServletContext();
            List<Message> messages = new ArrayList<Message>();
            //获取列表
            messages = (List<Message>)context.getAttribute("messages");
            //获取链接中的参数title
            String title =request.getParameter("title");
            String name = new String();
            String date = new String();
            String text = new String();
    		//遍历列表,查找该title的具体信息
            for(Message message : messages){
                if((message.getTitle()).equals(title)){
                    name = message.getUsername();
                    date = message.getTime();
                    text = message.getText();
                    title = message.getTitle();
                    request.setAttribute("name",name);
                    request.setAttribute("title",title);
                    request.setAttribute("text",text);
                    request.setAttribute("date",date);
                    break;
                }
            }
            //将留言信息转发到board-message.jsp
            RequestDispatcher dispatcher = request.getRequestDispatcher("/board-message.jsp");
            dispatcher.forward(request, response);
    
    
    
    
        }
    }
    
    

    (以上仅为部分代码)

    2020/12/13更新:添加了jdbc的使用

    编程小白,有错误请大佬指出…



    本人原创,欢迎转载~

    展开全文
  • 使用JSP、JavaBean和Servlet实现一个简单的留言板设计,包含用户管理和信息永久化保存。
  • 学JavaEE也有一段时间了,跟着老师和教材做了不少东西,但是一直以来没时间写博客,今天就把以前写的一个简易留言板简单发一下吧。开发工具主要用的开发工具为 MyEclipse(2014、2016均可)、Tomcat 7.0、SQL Server ...

    学JavaEE也有一段时间了,跟着老师和教材做了不少东西,但是一直以来没时间写博客,今天就把以前写的一个简易留言板简单发一下吧。

    开发工具

    主要用的开发工具为 MyEclipse(2014、2016均可)、Tomcat 7.0、SQL Server 2016、SSMS数据库管理工具、浏览器等。

    下载地址

    百度网盘链接:https://pan.baidu.com/s/1c2iCPQ4 提取码:7yxk

    开发环境

    开发环境为windows系统,已安装配置Java最新版开发环境。

    主要功能与语言

    登录、注册、并可以在留言板留言,所有留言内容均可见。

    所采用JSP+Servlet+JavaBean传统方式,仅限于学习使用。

    主要代码实现

    JSP代码:

    login.jsp

    登录界面

    请登录

    用户登录
    登录名:
    密码:

    注册

    register.jsp

    注册界面

    请注册

    用户注册
    ID:
    登录名:
    密码:

    登录

    error.jsp

    登录出错界面

    输入的用户名不存在或者密码错误

    点我返回登陆界面

    main.jsp

    留言板界面

    这里是留言板主界面

    所有留言信息
    留言人姓名留言时间留言标题留言内容

    ArrayList al=new ArrayList();

    al= (ArrayList)session.getAttribute("al");

    if(al!=null){

    Iterator iter=al.iterator();

    while(iter.hasNext()){

    MessBoar mb=(MessBoar)iter.next();

    %>

    }

    }

    %>

    留言

    leavemessage.jsp

    留言界面

    请留言

    填写留言信息
    留言标题
    留言内容

    返回留言板界面

    success.jsp

    成功界面

    留言成功,单击这里返回主界面。

    web.xml(配置)

    loginServlet

    org.servlet.LoginServlet

    loginServlet

    /loginServlet

    registerServlet

    org.servlet.RegisterServlet

    registerServlet

    /registerServlet

    leaveMessageServlet

    org.servlet.LeaveMessageServlet

    leaveMessageServlet

    /leaveMessageServlet

    messageBoard

    login.jsp

    DBconn.java

    package org.db;

    import java.sql.*;

    public class DBconn {

    public static Connection conn; //Connection对象(链接)

    //连接数据库

    public static Connection getConn(){

    try{

    //加载注册SQLSever的JDBC驱动

    Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");

    //编写链接字符串,创建并且获取链接

    conn=DriverManager.getConnection("jdbc:sqlserver://localhost:1433;databaseName=MessageBoard","sa","19961002happy");

    return conn;

    }catch(Exception e){

    e.printStackTrace();

    return null;

    }

    }

    public static void CloseConn(){

    try{

    conn.close();

    }catch(Exception e){

    e.printStackTrace();

    }

    }

    }

    LoginDao.java

    package org.dao;

    import java.sql.*;

    import org.model.*;

    import org.db.*;

    import java.util.ArrayList;

    public class LoginDao {

    Connection conn=DBconn.getConn(); ; //数据库连接对象

    PreparedStatement pstmt;

    public Login checkLogin(String name,String password){ //验证用户名密码

    try{

    pstmt=conn.prepareStatement("select*from[loginss] where name=? " + " and password=?");

    pstmt.setString(1, name); //设置SQL语句参数

    pstmt.setString(2, password); //设置SQL语句参数

    ResultSet rs=pstmt.executeQuery(); //执行查询,返回结果集

    if(rs.next()){ //通过JavaBean保存值

    Login login=new Login();

    login.setId(rs.getInt(1));

    login.setName(rs.getString(2));

    login.setPassword(rs.getString(3));

    login.setRole(rs.getInt(4));

    return login; //返回JavaBean对象

    }

    return null; //验证失败返回null

    }catch(Exception e){

    e.printStackTrace();

    return null;

    }

    }

    public ArrayList findMbInfo(){

    try{

    ArrayList al=new ArrayList();

    pstmt=conn.prepareStatement("select * from [messagess]");

    ResultSet rs=pstmt.executeQuery();

    while(rs.next()){

    MessBoar mb=new MessBoar();

    mb.setId(rs.getInt(1));

    mb.setName(rs.getString(2));

    mb.setTime(rs.getDate(3));

    mb.setTitle(rs.getString(4));

    mb.setMessage(rs.getString(5));

    al.add(mb);

    }

    return al;

    }catch(Exception e){

    e.printStackTrace();

    return null;

    }

    }

    public String getName(int id){

    String name=null;

    try{

    pstmt=conn.prepareStatement("select name from [loginss] where id=?");

    pstmt.setInt(1, id);

    ResultSet rs=pstmt.executeQuery();

    while(rs.next()){

    name=rs.getString(1);

    }

    return name;

    }catch(Exception e){

    e.printStackTrace();

    return null;

    }

    }

    public boolean addInfo(MessBoar mb){

    try{

    pstmt=conn.prepareStatement("insert into [messagess] values(?,?,?,?,?)");

    pstmt.setInt(1, mb.getId());

    pstmt.setString(2, mb.getName());

    pstmt.setDate(3, mb.getTime());

    pstmt.setString(4, mb.getTitle());

    pstmt.setString(5, mb.getMessage());

    pstmt.executeUpdate();

    return true;

    }catch(Exception e){

    e.printStackTrace();

    return false;

    }

    }

    public boolean insertUser(int id,String name,String password){

    try{

    pstmt=conn.prepareStatement("insert into [loginss] values(?,?,?,?)");

    pstmt.setInt(1, id);

    pstmt.setString(2, name);

    pstmt.setString(3, password);

    pstmt.setInt(4, 0);

    pstmt.executeUpdate();

    return true;

    }catch(Exception e){

    e.printStackTrace();

    return false;

    }

    }

    }

    Login.java

    package org.model;

    public class Login {

    private Integer id;

    private String name;

    private String password;

    private int role;

    public Integer getId(){

    return this.id;

    }

    public void setId(Integer id){

    this.id=id;

    }

    public String getName(){

    return this.name;

    }

    public void setName(String name){

    this.name=name;

    }

    public String getPassword(){

    return this.password;

    }

    public void setPassword(String password){

    this.name=password;

    }

    public int getRole(){

    return this.role;

    }

    public void setRole(int role){

    this.role=role;

    }

    }

    message.java

    package org.model;

    import java.sql.*;

    public class MessBoar {

    private int id;

    private String name;

    private Date time;

    private String title;

    private String message;

    public int getId() {

    return id;

    }

    public void setId(int id) {

    this.id=id;

    }

    public String getName() {

    return name;

    }

    public void setName(String name) {

    this.name=name;

    }

    public Date getTime() {

    return time;

    }

    public void setTime(Date time) {

    this.time=time;

    }

    public String getTitle() {

    return title;

    }

    public void setTitle(String title) {

    this.title=title;

    }

    public String getMessage() {

    return message;

    }

    public void setMessage(String message) {

    this.message=message;

    }

    }

    LeaveMessageServlet.java

    package org.servlet;

    import java.io.IOException;

    import java.sql.Date;

    import javax.servlet.ServletException;

    import javax.servlet.http.HttpServlet;

    import javax.servlet.http.HttpServletRequest;

    import javax.servlet.http.HttpServletResponse;

    import org.dao.LoginDao;

    import org.model.*;

    public class LeaveMessageServlet extends HttpServlet{

    public void doGet(HttpServletRequest request,HttpServletResponse response) throws ServletException,IOException{

    // 设置请求编码

    request.setCharacterEncoding("gb2312");

    // 设置响应编码

    response.setContentType("gb2312");

    // 获取title内容

    String title=request.getParameter("title");

    // 获取message内容

    String message=request.getParameter("message");

    // 从session中取出当前用户对象

    Login leaveMessageBoard=(Login) request.getSession().getAttribute("login");

    // 建立留言表对应JavaBean对象,把数据封装进去

    MessBoar mb=new MessBoar();

    mb.setId(leaveMessageBoard.getId());

    // 参数为获取的当前时间

    mb.setName(leaveMessageBoard.getName());

    mb.setTime(new Date(System.currentTimeMillis()));

    mb.setTitle(title);

    mb.setMessage(message);

    // 调DB类中的方法判断是否插入成功

    if(new LoginDao().addInfo(mb)){

    response.sendRedirect("success.jsp") ;

    }

    }

    public void doPost(HttpServletRequest request,HttpServletResponse response) throws ServletException,IOException{

    doGet(request,response);

    }

    }

    LoginServlet.java

    package org.servlet;

    import java.io.*;

    import java.util.*;

    import javax.servlet.*;

    import javax.servlet.http.*;

    import org.model.*;

    import org.dao.*;

    public class LoginServlet extends HttpServlet{

    public void doGet(HttpServletRequest request,HttpServletResponse response) throws ServletException,IOException{

    request.setCharacterEncoding("gb2312"); //设置请求编码

    response.setContentType("gb2312"); //设置响应编码

    LoginDao loginDao= new LoginDao();

    HttpSession session=request.getSession(); // 先获得user对象,如果是第一次访问该Servlet,用户对象肯定为空,但如果是第

    Login l=(Login) session.getAttribute("login"); // 二次甚至是第三次,就不应该再判断该用户的信息

    if(l==null)

    l = loginDao.checkLogin(request.getParameter("name"),request.getParameter("password"));

    if(l!=null){ //如果登陆成功

    session.setAttribute("login",l); //将获取的对象保存在session中

    ArrayList al=loginDao.findMbInfo(); //获取留言板的内容,返回一个数组

    session.setAttribute("al", al); //把数组保存起来

    response.sendRedirect("main.jsp"); //验证成功跳转到 main.jsp

    }

    else{ //验证失败跳转到 error.jsp

    response.sendRedirect("error.jsp");

    }

    }

    public void doPost(HttpServletRequest request,HttpServletResponse response) throws ServletException,IOException{

    doGet(request,response);

    }

    }

    RegisterServlet.java

    package org.servlet;

    import java.io.IOException;

    import org.dao.*;

    import javax.servlet.ServletException;

    import javax.servlet.http.HttpServlet;

    import javax.servlet.http.HttpServletRequest;

    import javax.servlet.http.HttpServletResponse;

    public class RegisterServlet extends HttpServlet {

    public void doGet(HttpServletRequest request, HttpServletResponse response)

    throws ServletException, IOException {

    request.setCharacterEncoding("gb2312");

    int id=Integer.valueOf(request.getParameter("id"));

    String name=request.getParameter("name");

    String password=request.getParameter("password");

    if(new LoginDao().insertUser(id ,name, password)){

    response.sendRedirect("login.jsp");

    }

    }

    public void doPost(HttpServletRequest request, HttpServletResponse response)

    throws ServletException, IOException {

    doGet(request,response);

    }

    }

    简单介绍

    粘代码粘得都心累,比较忙就不做太多介绍了。数据库需要自己新建,对应数据类型建立就可以了。下次有空回头复习时再加上详细介绍吧。附上几张效果图。

    效果图

    503da9d28b0828a5bee922b7b59aa635.png

    4de5c3bfc1805bbb75fadabb5e012bb0.png

    9067ff982bcdba1d9027d458b1169018.png

    5cc5c57dd09c30e1a0906cfc7e13baad.png

    d3236c11e8cdc171d4c1fd728f34c5e1.png

    7fe837e38dbb155eee78fe9ef34d24d8.png

    c2396351181484ec30dd98f1fba22bc5.png

    好好学习,天天向上~加油~~~

    //LoginServlet.java错误已修改 2016/09/02

    //数据库语句添加 2016/12/24

    数据库创建语句:

    create database messageBoard

    go

    use messageBoard

    create table loginss

    (

    id int not null primary key,

    name varchar(20) not null,

    password varchar(20) not null,

    role int not null

    )

    create table messagess

    (

    id int not null,

    name varchar(20) not null,

    time datetime not null,

    title varchar(20) not null,

    message varchar(50) not null

    )

    上面的表名称需要与LoginDao.java里面的保持一致。

    进阶篇:SpringBoot搭建简单留言板项目

    展开全文
  • NULL 博文链接:https://yuruei2000.iteye.com/blog/1489088
  • 代码如下~内有详细解释,最后有照片!function inuser(){username_mess.style.visibility="visible";}function outuser(){//获取name 为 usesrname 的文本u=f1.username.value;f1.username.style.border="1px solid ...
  • 本篇文章主要给大家介绍一个非常简单的HTML留言板及html 留言列表样式的相关代码操作。留言板是一些门户网站或者论坛等等必不可少的一部分。HTML留言板具体代码示例如下:网页留言板版源码示例简易留言板function ...
  • 相信刚学Javaweb的小伙伴第一个接触的个人小项目都是从项目的登录注册开始的。 下面一个小项目中的登录注册将会带大家从零开始学习怎么设计登录注册流程. 2.登录注册设计流程 3.注册的数据流程 那么我们的前端...
  • 登录注册留言板程序源码 基本功能: 留言、注册、登录、回复、管理 提示: 非常适合新手学习的小程序,程序介绍基本功能都已经实现。 如果能将部分功能封装,程序会更小巧。 使用之前修改web.config中数据库链接...
  • jsp+mysql简单留言板实现

    热门讨论 2015-05-06 14:48:09
    管理员用户的可以实现发布内容、查看内容、 删除留言、编辑留言 可以在登录页面进行注册 页面介绍: zhuce.jsp 注册页面 login.jsp 用户登录界面 login_conf.jsp 用户登录验证 login_success.jsp 用户登录...
  • Java Server Page(简称JSP),和ASP、PHP一样都是网络编程语言,只不过在JSP页面中插入的脚本代码是Java语句片段。要利用JSP编写应用,首先,必须要有一个能执行JSP脚本的Web服务器,可以在原有的Apache、IIS或PWS...
  • web前端必学功法之一:留言板 案例效果: css部分 <style> .container{ width: 600px; } .mes-board{ margin: 25px 0; padding: 10px; background-color: gray; } .mes-board li{ padding:
  • php+mysql留言板毕业设计源码,一款大学生毕业作业设计的好作品,有什么疑问可以企鹅:三五七零五八六零七
  • Web网页——留言板功能

    万次阅读 多人点赞 2019-02-22 19:22:23
    本文描述如何在网页上实现一个简单的留言板功能,仅支持文字留言。 开发环境:dreamweaverCC html +jscirpt + php 前置条件:1、一个简单的网站已经搭建完毕,支持用户登录网站。 2、用户已登录网站。 实现步骤...
  • 本资源可用!使用JSP、JavaBean和Servlet实现一个简单的留言板设计,里面带有数据库,还有运行之后的部分截图!
  • 学通Java Web的24堂课 明日科技 陈丹丹、卢瀚 编著.第5部分 实战篇第23课:JSP+Hibernate实现留言模块。项目涵盖了数据库、Struts、Hibernate、Spring多个框架及其整合技术。pdf格式。
  • java实现简单留言板功能的代码实例

    千次阅读 2021-02-12 09:29:28
    java实现简单留言板功能的代码实例数据库对应的表:guestbook:id ,name,phone,email,title,content,time; id新建web project:guestbookbuild Path:引入连接数据库的驱动的类库在webRoot目录中加入:+faceditor+js...
  • 纯前端实现留言板

    千次阅读 多人点赞 2021-07-18 00:40:58
    实现效果: ... 留言板 源码: <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>留言板</title> <style> #box{ width:

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 49,497
精华内容 19,798
关键字:

web实现留言板登录