jsp在线留言系统包含登录注册分享

jsp+mysql在线留言系统包含登录注册找回密码等功能

项目结构如下图所示

web.xml如下

<!-- q-q-:274071845-->
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_4_0.xsd"
         version="4.0">


    <filter>
        <filter-name>EncodingFilter</filter-name>
        <filter-class>com.company.filter.EncodingFilter</filter-class>
    </filter>
    <filter-mapping>
        <filter-name>EncodingFilter</filter-name>
        <url-pattern>/*</url-pattern>
    </filter-mapping>



    <servlet>
        <servlet-name>DmServlet</servlet-name>
        <servlet-class>com.company.servlet.DmServlet</servlet-class>
    </servlet>
    <servlet-mapping>
        <servlet-name>DmServlet</servlet-name>
        <url-pattern>/DmServlet</url-pattern>
    </servlet-mapping>

    <servlet>
        <servlet-name>SpeakServlet</servlet-name>
        <servlet-class>com.company.servlet.SpeakServlet</servlet-class>
    </servlet>
    <servlet-mapping>
        <servlet-name>SpeakServlet</servlet-name>
        <url-pattern>/SpeakServlet</url-pattern>
    </servlet-mapping>

    <servlet>
        <servlet-name>UserServlet</servlet-name>
        <servlet-class>com.company.servlet.UserServlet</servlet-class>
    </servlet>
    <servlet-mapping>
        <servlet-name>UserServlet</servlet-name>
        <url-pattern>/UserServlet</url-pattern>
    </servlet-mapping>
    
</web-app>

登录页面代码

<form method="post" action="UserServlet">
        <table>
            <tr><input type="hidden" name="type" value="login"/>
                <td>用户名:</td>
                <td><input type="text" name="username" id="username" placeholder="请输入用户名"/></td>
            </tr>
            <tr>
                <td colspan="2">
                    <div id="divUser"></div>
                </td>
            </tr>
            <tr>
                <td>密码:</td>
                <td><input type="password" name="password" placeholder="请输入密码"/></td>
            </tr>
            <tr>
                <td colspan="1">
                    <input type="submit" value="登录" id="login"/></td>
        		
        		
        		<td colspan="1">
                    <input type="button" value="找回密码" id="register" onclick="window.location.href='getpassword.jsp'"/>
                    
           
                    <input type="button" value="注册" id="login" onclick="window.location.href='register.jsp'"/>
                </td>
            </tr>
            <tr>
                <td colspan="2">
                    <div style="color: red">${msg}</div>
                </td>
            </tr>
        </table>
    </form>

用户servlet

package com.company.servlet;

import com.company.dao.UserDao;
import com.company.model.Student;
import com.company.service.UserService;

import javax.servlet.ServletException;
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.List;

public class UserServlet extends HttpServlet {
    private UserService userService = new UserService();

    @Override
    protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        doPost(req, resp);
    }

    @Override
    protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
    	String type = req.getParameter("type");
    	if(type.equals("register")) {
    		register(req,resp);
    	}
    	if(type.equals("userlist")) {
    		userlist(req,resp);
    	}
    	if(type.equals("logout")) {
    		logout(req,resp);
    	}
    	if(type.equals("login")) {
    		login(req,resp);
    	}
    	if(type.equals("delete")) {
    		delete(req,resp);
    	}
    	if(type.equals("updatepassword")) {
    		updatepassword(req,resp);
    	}
    	if(type.equals("getpassword")) {
    		getpassword(req,resp);
    	}
    }

    //验证密码问题
    private void getpassword(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
    	 String problem = req.getParameter("problem");

         Student user = new Student();
         user.setProblem(problem);
         String name = userService.queryNamebyproblem(problem);
         if(name.equals("")) {
         	req.setAttribute("msg","密码问题输入错误");
         	req.getRequestDispatcher("getpassword.jsp").forward(req,resp);
         }else {
         	req.setAttribute("name",name);
         	req.getRequestDispatcher("updatepassword.jsp").forward(req,resp);
         }
         
		
	}
//更新密码
	private void updatepassword(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
    	 String name = req.getParameter("name");
         String password = req.getParameter("password");
         String rePassword = req.getParameter("rePassword");
         if (!password.equals(rePassword)){
             req.setAttribute("msg","两次输入密码不一致");
             req.getRequestDispatcher("updatepassword.jsp").forward(req,resp);
         }else {
             Student user = new Student();
             user.setName(name);
             user.setPassword(password);
             userService.updatepassword(user);
             req.getRequestDispatcher("index.jsp").forward(req,resp);
         }

	}
//删除用户
	private void delete(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException{
    	String name = req.getParameter("name");
        try {
			userService.del(name);
			resp.sendRedirect("UserServlet?type=userlist");
		} catch (Exception e) {

			userService.del(name);
			resp.sendRedirect("UserServlet?type=userlist&msg=no");
		}
		
	}

	//登录
	private void login(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException{
    	String username = req.getParameter("username");
        String password = req.getParameter("password");

        if (username.equals("") || password.equals("")) {
            req.setAttribute("msg", "用户名或密码不能为空");
            req.getRequestDispatcher("index.jsp").forward(req, resp);
        }

        if (!userService.login(username,password)){
            req.setAttribute("msg", "用户或密码错误!");
            req.getRequestDispatcher("index.jsp").forward(req, resp);
        }else {
            req.getSession().setAttribute("username",username);
            req.getRequestDispatcher("main.jsp").forward(req, resp);
        }
		
	}

	//登出
	private void logout(HttpServletRequest req, HttpServletResponse resp) {
    	req.getSession().invalidate();
        try {
			req.getRequestDispatcher("index.jsp").forward(req, resp);
		} catch (ServletException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		} catch (IOException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
	}

	//用户列表
	private void userlist(HttpServletRequest req, HttpServletResponse resp)  throws ServletException, IOException{
    	UserDao userDao = new UserDao();
        String qname = req.getParameter("qname");
		if(qname==null) {
			qname="";
		}
		String msg = req.getParameter("msg");
		if(msg==null) {
			msg="";
		}
		if(msg.equals("no")) {
			req.setAttribute("msg", "无法删除,名下有留言");
		}
		
        List<Student> userList = userDao.querybyname(qname);
        req.setAttribute("userList", userList);
        req.setAttribute("qname", qname);
        req.getRequestDispatcher("list.jsp").forward(req, resp);
		
	}

	//注册用户
	public void register(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
    	 String username = req.getParameter("username");
         String password = req.getParameter("password");
         String rePassword = req.getParameter("rePassword");
         String problem = req.getParameter("problem");

         if (!password.equals(rePassword)){
             req.setAttribute("msg","两次输入密码不一致");
             req.getRequestDispatcher("register.jsp").forward(req,resp);
         }else {
             Student user = new Student();
             user.setName(username);
             user.setPassword(password);
             user.setProblem(problem);
             userService.add(user);
             req.getRequestDispatcher("index.jsp").forward(req,resp);
         }
    }

}

EncodingFilter.java

package com.company.filter;

import javax.servlet.*;
import java.io.IOException;

public class EncodingFilter implements Filter {
    public EncodingFilter(){
        System.out.println("过滤器构造");
    }
    public void destroy() {
        System.out.println("过滤器销毁");
    }
    public void doFilter(ServletRequest request, ServletResponse response,FilterChain chain) throws IOException, ServletException {
        request.setCharacterEncoding("utf-8"); //将编码改为utf-8
        response.setContentType("text/html;charset=utf-8");
        chain.doFilter(request, response);
    }

    public void init(FilterConfig arg0) throws ServletException {
        System.out.println("过滤器初始化");
    }

}

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
一、设计目的 留言系统目前在各类网站中被广泛使用。通过综合运用JSP、Servlet、JavaBean、JDBC、MySQL和MVC + DAO等技术与方法,设计与实现一个留言管理系统,进一步理解和掌握Java Web编程开发的基本技术和方法,熟练使用开发工具。 二、课程设计内容 设计留言管理系统的目的是提供对留言的增加、删除、修改和显示的功能。 系统分前台和后台两个模块。 1)前台留言模块主要针对普通用户,按功能又分为以下模块。 (1) 发表留言(即添加留言) 普通用户可以在留言管理系统中随意留言,如果留言的字数太少如低于10个字符,系统将给出提示。 (2) 查看留言 可以浏览留言(即查看留言列表)、查看详细留言(即查看某条留言内容)、搜索留言(即查看符合条件的留言列表)、查看友情链接(即导航到别的网站)。 2)后台模块(管理模块)针对管理员提供操作,按功能又分为以下模块。 (1) 登录管理:需要输入管理员账号、口令和验证码,系统将验证、口令和验证码是否正确,如果验证成功,则进入管理员界面;否则,系统提示账号或密码错误的信息。 另外,登录后的管理员可以选择退出登录,进而退出管理界面。(实现提示:将退出请求提交给处理退出的Servlet,在该Servlet中将session失效,再将页面重定向到登录页面。) (2) 留言管理:可以查看所有的留言,可以增加留言(即回复留言)、修改留言、删除留言

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

java老哥

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值