一、系统的主要功能和特点
系统主要实现了以JSP和JavaBean为基础的留言板。主要包括登录、登陆检查、增加留言、查看全部留言信息、查看指定留言信息等功能实现了数据的读写。
在此基础上,我增加了登陆的检查功能、注册新用户功能、管理员控制后台功能,只有输入正确账号和与之对应的密码才能实现账号的登录,还有删除插入更改的操作,防止出现乱码和操作不当出现的网站错误。
二、类的设计
在系统里我用到了管理员使用的LoginServlet类控制登录、MessageServlet类控制留言、UserServlet类供使用,MessageDao类进行对留言插入更改删除等操作,EncodingFilter类对乱码进行过滤、LoginFilter类对登录界面问题进行过滤,Message、PageBean、User类对内部模型进行构造,db_goods.sql进行web设计(网站上搜索并进行更改的,没有展示),C3p0Utils、PageUtils、PageUtils2类对整体运行进行连接。不同功能的package在下面的代码中用不同颜色表示。
三、程序流程
四、程序纠错过程
在程序的编写过程中遇到了很多的技术性的问题。比如,在设计模板时,总是少添加或者重复设置循环和内存问题,在jsp数据交互的过程中,老是出现数据的丢失,最终还是靠在网上查找资料的方式解决了这个问题,在过滤问题上总是有想法但做不出来,不断询问和查找资料后才勉强加进去,但在实现价值功能上,实际操作没有发挥出来的机会。
五、程序运行截图并对截图实现的功能进行简要说明
登录界面:可进行登录,分有学生(前台)和管理员(后台)两种方式。
新用户注册。
登录后进入留言板,具体功能参考图片。
package controller; import java.io.IOException; import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import dao.UserDao; import model.User; /** * Servlet implementation class LoginServlet */ public class LoginServlet extends HttpServlet { private static final long serialVersionUID = 1L; public LoginServlet() { super(); // TODO Auto-generated constructor stub } protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { doPost(request, response); } protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { Object attribute=request.getParameter("method"); System.out.println("请求已经到达"); String method=""; if(attribute!=null) { method=attribute.toString(); } if("login".equals(method)){ request.getRequestDispatcher("/WEB-INF/views/login.jsp").forward(request, response); return; } if("loginAct".equals(method)){ login(request,response); return; } if("loginOutAct".equals(method)){ request.getSession().setAttribute("username", null); request.getSession().removeAttribute("username"); request.getSession().removeAttribute("id"); request.getSession().removeAttribute("type"); //request.getRequestDispatcher("/login.jsp").forward(request, response); response.sendRedirect("LoginServlet?method=login"); return; } } //登录处理 private void login(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { String username=request.getParameter("username"); String password=request.getParameter("password"); int userType=Integer.parseInt(request.getParameter("type").trim()); System.out.println(userType); UserDao userdao=new UserDao(); User user=userdao.findByUserName(username); if(user==null){ request.setAttribute("message", "用户名不存在!"); request.getRequestDispatcher("/WEB-INF/views/login.jsp").forward(request, response); }else if(!user.getPassword().equals(password)){ request.setAttribute("message", "用户名或密码错误"); request.getRequestDispatcher("/WEB-INF/views/login.jsp").forward(request, response); }else if((user.getPassword().equals(password))&&((user.getType()==1)&&(userType==1))){ request.getSession().setAttribute("user",user); request.getSession().setAttribute("type", user.getType()); request.getRequestDispatcher("/WEB-INF/users/main.jsp").forward(request, response); }else if((user.getPassword().equals(password))&&((user.getType()==2)&&(userType==2))) { request.getSession().setAttribute("type", user.getType()); request.getSession().setAttribute("realname", user.getRealname()); request.getSession().setAttribute("username", user.getUsername()); request.getSession().setAttribute("id", user.getId()); request.getRequestDispatcher("/WEB-INF/views/main.jsp").forward(request, response); }else { request.setAttribute("message", "用户和用户类型不匹配"); request.getRequestDispatcher("/WEB-INF/views/login.jsp").forward(request, response); } package controller; import java.io.IOException; import java.text.SimpleDateFormat; import java.util.Date; import java.util.List; import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import dao.MessageDao; import dao.UserDao; import model.Message; import model.PageBean; import model.User; import utils.PageUtils2; /** * Servlet implementation class MessageServlet */ public class MessageServlet extends HttpServlet { private static final long serialVersionUID = 1L; private MessageDao messageDao=new MessageDao(); private UserDao userDao=new UserDao(); public MessageServlet() { super(); // TODO Auto-generated constructor stub } protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { doPost(request, response); } protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { String method=request.getParameter("method"); //跳转到添加页面 if(method!=null&&method.equals("toAddMessageAct1")) { request.getRequestDispatcher("/WEB-INF/users/add_message.jsp").forward(request, response); return; } if(method!=null&&method.equals("findByMessageAct")) { User user=(User) request.getSession().getAttribute("user"); System.out.print(user.getId()+"****"); List<Message> list=messageDao.findMyMessage(user.getId()); for(Message m:list) { User u=userDao.findById(m.getU_id()); m.setUser(u); } if(list.size()>0) { request.setAttribute("list", list); request.removeAttribute("msg"); request.getRequestDispatcher("/WEB-INF/views/list_message.jsp").forward(request, response); }else if(list.size()<=0) { request.setAttribute("msg", "没有此留言信息"); request.getRequestDispatcher("/WEB-INF/views/list_message.jsp").forward(request, response); } return; } if(method!=null&&method.equals("messageListAct1")) { MessageList1(request, response); return; } if(method!=null&&method.equals("messageListAct2")) { MessageList2(request,response); return; } if(method!=null&&method.equals("messageListAct3")) { MessageList3(request,response); return; } if(method!=null&&method.equals("deleteMessageAct")) { int id=Integer.parseInt(request.getParameter("id")); String mname=request.getParameter("mname"); String type=request.getParameter("type"); System.out.println(type+"****"+mname); messageDao.delete(id); if(type.equals("1")) { User user=(User) request.getSession().getAttribute("user"); List<Message> list=messageDao.findMyMessage(user.getId()); for(Message m:list) { User u=userDao.findById(m.getU_id()); m.setUser(u); } request.setAttribute("list", list); request.getRequestDispatcher("/WEB-INF/users/message_list.jsp").forward(request, response); }else if(type.equals("2")){ MessageList2(request, response); } return; } //管理员添加 if(method!=null&&method.equals("addMessageAct")) { String title=request.getParameter("title"); String content=request.getParameter("content"); String type=request.getParameter("type"); Message message=new Message(); User user=(User) request.getSession().getAttribute("user"); message.setU_id(user.getId()); message.setTitle(title); message.setContent(content); Date nowtime=new Date(); try { SimpleDateFormat simpleDateFormat=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); String createTime=simpleDateFormat.format(nowtime); message.setCreateTime(createTime); }catch(Exception e) {}; boolean b=messageDao.insertMessage(message); if(b&&type.equals("1")) { MessageList1(request, response); }else { MessageList2(request, response); } return; } if(method!=null&&method.equals("queryMessageAct")) { int id=Integer.parseInt(request.getParameter("id")); System.out.print(id+"****"); Message record=messageDao.findById(id); request.setAttribute("list", record); request.getRequestDispatcher("/WEB-INF/views/update_message.jsp").forward(request, response); return; } if(method!=null&&method.equals("findByMapAct")) { findByMapAct(request, response); return; } if(method!=null&&method.equals("updateMessageAct")) { int id=Integer.parseInt(request.getParameter("id")); String content=request.getParameter("content"); String type=request.getParameter("type"); Message message=new Message(); User user=(User) request.getSession().getAttribute("user"); message.setU_id(user.getId()); message.setContent(content); boolean b=messageDao.updateMessage(message, id); if(b&&type.equals("1")) { MessageList1(request, response); }else { MessageList2(request, response); } } } private void MessageList3(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { String currentPage = request.getParameter("currentPage"); if (currentPage==null||currentPage.equals("")){ //如果第一次访问,没有传递currentPage参数,则当前页为1 currentPage="1"; } //接收用户输入的每页显示数据的记录数 String pageSize = request.getParameter("pageSize"); //如果没有传递过来,设置一个默认值为2 //细节:当点击下一页或者别的,会导致pageSize丢失了,应该要带回去 if (pageSize==null||pageSize.equals("")){ //设置pageSize的默认值是2 pageSize="6"; } //1)在service层调用获取PageBean对象的方法 PageUtils2 service = new PageUtils2(); //只需要传入一个currentPage(当前页数)即可 PageBean pageBean = service.queryPageBean2(currentPage,Integer.parseInt(pageSize)); //2)把PageBean对象放到域中 request.setAttribute("pageBean", pageBean); //3)转发 request.getRequestDispatcher("/WEB-INF/users/message_list2.jsp").forward(request, response); } private void MessageList2(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { String currentPage = request.getParameter("currentPage"); if (currentPage==null||currentPage.equals("")){ //如果第一次访问,没有传递currentPage参数,则当前页为1 currentPage="1"; } //接收用户输入的每页显示数据的记录数 String pageSize = request.getParameter("pageSize"); //如果没有传递过来,设置一个默认值为2 //细节:当点击下一页或者别的,会导致pageSize丢失了,应该要带回去 if (pageSize==null||pageSize.equals("")){ //设置pageSize的默认值是2 pageSize="6"; } //1)在service层调用获取PageBean对象的方法 PageUtils2 service = new PageUtils2(); //只需要传入一个currentPage(当前页数)即可 PageBean pageBean = service.queryPageBean(currentPage,Integer.parseInt(pageSize)); //2)把PageBean对象放到域中 request.setAttribute("pageBean", pageBean); //3)转发 request.getRequestDispatcher("/WEB-INF/views/message_list.jsp").forward(request, response); } private void findByMapAct(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { String realname=request.getParameter("realname").trim(); System.out.print(realname); User user=userDao.findByRealname(realname); List<Message> list=messageDao.findMyMessage(user.getId()); for(Message m:list) { User u=userDao.findById(m.getU_id()); m.setUser(u); } request.setAttribute("list", list); request.getRequestDispatcher("/WEB-INF/views/list_message.jsp").forward(request, response); } private void MessageList1(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { User user=(User) request.getSession().getAttribute("user"); List<Message> list=messageDao.findMyMessage(user.getId()); for(Message m:list) { User u=userDao.findById(m.getU_id()); m.setUser(u); } request.setAttribute("list", list); request.getRequestDispatcher("/WEB-INF/users/message_list.jsp").forward(request, response); }}}} package controller; import java.io.IOException; import java.util.List; import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import dao.UserDao; import model.User; import utils.PageUtils; /** * Servlet implementation class UserServlet */ public class UserServlet extends HttpServlet { private static final long serialVersionUID = 1L; private UserDao userDao=new UserDao(); /** * @see HttpServlet#HttpServlet() */ public UserServlet() { super(); // TODO Auto-generated constructor stub } /** * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response) */ protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { doPost(request, response); } /** * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response) */ protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { String method=request.getParameter("method"); if(method!=null&&method.equals("registeAct")) { registeUser(request,response); return; } if(method!=null&&method.equals("homepageAct")) { //registeUser(request,response); request.getRequestDispatcher("/WEB-INF/users/homepage.jsp").forward(request, response); return; } if(method!=null&&method.equals("consoleAct")) { //registeUser(request,response); request.getRequestDispatcher("/WEB-INF/views/console.jsp").forward(request, response); return; } if(method!=null&&method.equals("userListAct1")) { userList1(request, response); return; } if(method!=null&&method.equals("userListAct2")) { userList2(request,response); return; } if(method!=null&&method.equals("findByNameAct")) { String username=request.getParameter("username"); User user=userDao.findByUserName(username); List<User> list=userDao.findMyInfo(user.getId()); if(list.size()>0) { request.setAttribute("list", list); request.removeAttribute("msg"); request.getRequestDispatcher("/WEB-INF/views/list_user.jsp").forward(request, response); }else if(list.size()<=0) { request.setAttribute("msg", "没有此纪录"); request.getRequestDispatcher("/WEB-INF/views/list_user.jsp").forward(request, response); } return; } if(method!=null&&method.equals("queryUserAct")) { /*userList2(request,response);*/ int id=Integer.parseInt(request.getParameter("id")); System.out.print(id+"****"); User record=userDao.findById(id); request.setAttribute("list", record); request.getRequestDispatcher("/WEB-INF/views/update_user.jsp").forward(request, response); return; } if(method!=null&&method.equals("queryUserNameAct")) { String username=request.getParameter("username"); System.out.print(username+"****"); User record=userDao.findByUserName(username); request.setAttribute("list", record); request.getRequestDispatcher("/WEB-INF/users/update_pwd.jsp").forward(request, response); return; } if(method!=null&&method.equals("toAddUserAct")) { request.getRequestDispatcher("/WEB-INF/views/add_user.jsp").forward(request, response); return; } if(method!=null&&method.equals("addUserAct")) { addUser(request,response); return; } if(method!=null&&method.equals("toRegsiteAct")) { request.getRequestDispatcher("/WEB-INF/views/register.jsp").forward(request, response); return; } if(method!=null&&method.equals("registeAct")) { registeUser(request,response); return; } if(method!=null&&method.equals("deleteUserAct")) { int id=Integer.parseInt(request.getParameter("id")); userDao.delete(id); userList2(request, response); return; } if(method!=null&&method.equals("updatePwdAct")) { String username=request.getParameter("username"); String password=request.getParameter("password"); User user=new User(); user.setPassword(password); boolean b=userDao.updateUserPwd(user, username); if(b) { userList1(request, response); } return; } if(method!=null&&method.equals("updateUserAct")){ int id=Integer.parseInt(request.getParameter("id")); String username=request.getParameter("username"); String password=request.getParameter("password"); int type=Integer.parseInt(request.getParameter("type")); String sex=request.getParameter("sex"); String realname=request.getParameter("realname"); UserDao us=new UserDao(); User user=new User(); user.setUsername(username); user.setPassword(password); user.setSex(sex); user.setType(type); user.setRealname(realname); String flag=request.getParameter("flag"); us.updateUser(user,id); if(("1".equals(flag))){ userList1(request, response); }else if("2".equals(flag)){ userList2(request, response); } return; } } private void userList1(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { //String username=request.getParameter("username"); User user=(User) request.getSession().getAttribute("user"); List<User> list=userDao.findMyInfo(user.getId()); request.setAttribute("list", list); request.getRequestDispatcher("/WEB-INF/views/user_list.jsp").forward(request, response); } //添加用户 private void addUser(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { String username=request.getParameter("username"); String password=request.getParameter("password"); int type=Integer.parseInt(request.getParameter("type")); String realname=request.getParameter("realname"); String sex=request.getParameter("sex"); if(new PageUtils().existsUserName(username)){ request.setAttribute("msg","该用户名已存在"); request.setAttribute("username",username); userList2(request, response); }else { UserDao us=new UserDao(); User user=new User(); user.setUsername(username); user.setPassword(password); user.setRealname(realname); user.setSex(sex); user.setType(type); us.insertUser(user); userList2(request, response); } } //用户信息 private void userList2(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { List<User> list=userDao.findAll(); request.setAttribute("list", list); request.getRequestDispatcher("/WEB-INF/views/user_list.jsp").forward(request, response); } //注册 private void registeUser(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { String username=request.getParameter("username"); String password=request.getParameter("password"); String realname=request.getParameter("realname"); String sex=request.getParameter("sex"); if(new PageUtils().existsUserName(username)){ request.setAttribute("msg","该用户名已存在"); request.setAttribute("username",username); request.getRequestDispatcher("/WEB-INF/views/register.jsp").forward(request,response);//返回到登陆界面 }else { UserDao us=new UserDao(); User user=new User(); user.setUsername(username); user.setPassword(password); user.setRealname(realname); user.setSex(sex); user.setType(1); us.insertUser(user); request.setAttribute("msg", "ok"); request.getRequestDispatcher("/WEB-INF/views/success.jsp").forward(request, response); } } } package dao; import java.sql.SQLException; import java.util.ArrayList; import java.util.List; import org.apache.commons.dbutils.QueryRunner; import org.apache.commons.dbutils.handlers.BeanHandler; import org.apache.commons.dbutils.handlers.BeanListHandler; import org.apache.commons.dbutils.handlers.ScalarHandler; import org.eclipse.jdt.internal.compiler.parser.RecoveredAnnotation; import model.Message; import utils.C3p0Utils; public class MessageDao { //获取连接执行查询 private QueryRunner runner=new QueryRunner(C3p0Utils.getDs()); //添加留言 public boolean insertMessage(Message r) { try { //执行插入sql runner.update("insert into message(u_id,title,content,createTime)values(?,?,?,?)", r.getU_id(),r.getTitle(),r.getContent(),r.getCreateTime()); } catch (SQLException e) { throw new RuntimeException(e); } return true;//成功返回true } //根据id删除 public int delete(int id) { try { //执行删除的sql runner.update("delete from message where id=?",id); } catch (SQLException e) { throw new RuntimeException(e);//抛出运行异常 } return 1;//删除成功返回1表示结束 } //查询所有留言信息 public List<Message> findMyMessage(int u_id) { try { return runner.query("select * from message where u_id=?", new BeanListHandler<Message>(Message.class),u_id);//添加实体类的适配器进行类的反射 } catch (SQLException e) {//捕获异常 throw new RuntimeException(e);//抛出运行异常 } } /** * * 根据留言人查询留言的信息 */ public List<Message> findByContent(String content) { try { String sql = "select * from Message where 1=1 "; //创建一个集合用来存储查询的参数,因为我们不清楚客户到底输入几个参数,所以用集合来存放 List<String> list = new ArrayList<String>(); if (content != "") { //如果用户输入的pname不为空,那需要进行字符串拼接 sql += "and content like ? "; //将用户输入的参数添加到集合 list.add("%" + content + "%"); } //最后将集合转化成数组 Object[] params = list.toArray(); //调用runner对象的query查询方法,并将集合返回 return runner.query(sql, new BeanListHandler<Message>(Message.class), params); } catch (SQLException e) {//捕获异常 throw new RuntimeException(e);//抛出运行异常 } } public List<Message> queryData(int currentPage,int pageSize ) { /** * 总结 select * from Message limit (当前页页码-1)*每页显示的记录条数,每页显示的记录条数; */ //创建QueryRunner对象,传入数据源 QueryRunner qr = new QueryRunner(C3p0Utils.getDs()); String sql="select * from message limit ?,?"; /** String sql="select * from employee limit (当前页页码-1)*每页显示的记录条数,每页显示的记录条数;\n"; */ //起始行 int startNo = (currentPage-1)*pageSize; List<Message> list=null; //todo 使用JavaBean对象的list集合的实现类 BeanListHandler类封装 try { list=qr.query(sql, new BeanListHandler<Message>(Message.class), new Object[]{startNo,pageSize}); return list; } catch (SQLException e) { e.printStackTrace(); throw new RuntimeException(e); } } /** * 提供一个查询总记录数的方法 * */ public int queryCount() { //获取QueryRunner对象,传入数据源 QueryRunner qr = new QueryRunner(C3p0Utils.getDs()); String sql="select count(*) from message"; try { Long count = (long) qr.query(sql, new ScalarHandler()); //将long的类型转成int类型 return count.intValue(); } catch (SQLException e) { e.printStackTrace(); throw new RuntimeException(e); } } //根据id查询 public Message findById(int id) { try {//返回查询的信息 return runner.query("select * from message where id=?", new BeanHandler<Message>(Message.class),id); } catch (SQLException e) { throw new RuntimeException(e);//抛出运行异常 } } //更改用户名称 public boolean updateMessage(Message r,int id) { try {//执行更改 runner.update("update message set content=? where id=?", r.getContent(),id); } catch (SQLException e) { throw new RuntimeException(e);//抛出运行异常 } return true;//返回true } public static void main(String args[]) { MessageDao MessageDao=new MessageDao(); Message Message=new Message(); Message.setCreateTime("2021-11-17 11:30:29"); boolean b=MessageDao.insertMessage(Message); System.out.println(b); } } package dao; import java.sql.SQLException; import java.util.List; import org.apache.commons.dbutils.QueryRunner; import org.apache.commons.dbutils.handlers.BeanHandler; import org.apache.commons.dbutils.handlers.BeanListHandler; import model.User; import utils.C3p0Utils; public class UserDao { //加载数据库连接 private QueryRunner runner=new QueryRunner(C3p0Utils.getDs()); public boolean insertUser(User user) { try { runner.update("insert into user(username,password,type,sex,realname)values(?,?,?,?,?)", user.getUsername(),user.getPassword(),user.getType(),user.getSex(),user.getRealname()); } catch (SQLException e) { throw new RuntimeException(e); } return true;//鎴愬姛杩斿洖true } public int delete(int id) { try { runner.update("delete from user where id=?",id); } catch (SQLException e) { throw new RuntimeException(e); } return 1; } public List<User> findAll() { try { return runner.query("select * from user", new BeanListHandler<User>(User.class)); } catch (SQLException e) { throw new RuntimeException(e); } } public List<User> findMyInfo(int id) { try { return runner.query("select * from user where id=?", new BeanListHandler<User>(User.class),id); } catch (SQLException e) { throw new RuntimeException(e); } } //根据 public User findByRealname(String realname) { try { return runner.query("select * from user where realname=?", new BeanHandler<User>(User.class),realname); } catch (SQLException e) { throw new RuntimeException(e); } } public User findById(int id) { try { return runner.query("select * from user where id=?", new BeanHandler<User>(User.class),id); } catch (SQLException e) { throw new RuntimeException(e); } } public boolean updateUser(User user,int id) { try { runner.update("update user set username=?,password=?,type=?,sex=?,realname=? where id=?", user.getUsername(),user.getPassword(),user.getType(),user.getSex(),user.getRealname(),id); } catch (SQLException e) { throw new RuntimeException(e); } return true; } public boolean updateUserPwd(User user,String username) { try { runner.update("update user set password=? where username=?", user.getPassword(),username); } catch (SQLException e) { throw new RuntimeException(e); } return true; } public User findByUserName(String username) { try { return runner.query("select * from user where username=?", new BeanHandler<User>(User.class),username); } catch (SQLException e) { throw new RuntimeException(e); } } public User login(String username,String password) { try { return runner.query("select * from user where username=? and password=?", new BeanHandler<User>(User.class),username,password); } catch (SQLException e) { throw new RuntimeException(e); } } public static void main(String args[]) { UserDao userDao=new UserDao(); User user=userDao.findByUserName("admin"); System.out.println(user.getPassword()); } } package filter; import java.io.IOException; import javax.servlet.Filter; import javax.servlet.FilterChain; import javax.servlet.FilterConfig; import javax.servlet.ServletException; import javax.servlet.ServletRequest; import javax.servlet.ServletResponse; /** * Servlet Filter implementation class EncodingFilter */ public class EncodingFilter implements Filter { private String charSet; /** * Default constructor. */ public EncodingFilter() { // TODO Auto-generated constructor stub } /** * @see Filter#destroy() */ public void destroy() { System.out.println("乱码已经解决,上下文编码为utf-8"); } /** * @see Filter#doFilter(ServletRequest, ServletResponse, FilterChain) */ public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException { request.setCharacterEncoding(this.charSet); chain.doFilter(request, response); } /** * @see Filter#init(FilterConfig) */ public void init(FilterConfig fConfig) throws ServletException { this.charSet=fConfig.getInitParameter("charset");//设置同意编码 } } package filter; import java.io.IOException; import javax.servlet.Filter; import javax.servlet.FilterChain; import javax.servlet.FilterConfig; import javax.servlet.ServletException; import javax.servlet.ServletRequest; import javax.servlet.ServletResponse; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; /** * Servlet Filter implementation class LoginFilter */ public class LoginFilter implements Filter { /** * Default constructor. */ public LoginFilter() { // TODO Auto-generated constructor stub } /** * @see Filter#destroy() */ public void destroy() { // TODO Auto-generated method stub } /** * @see Filter#doFilter(ServletRequest, ServletResponse, FilterChain) */ public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException { HttpServletRequest httpServletRequest = (HttpServletRequest)request; HttpServletResponse httpServletResponse = (HttpServletResponse)response; Object attribute = httpServletRequest.getSession().getAttribute("username"); if(attribute == null){ httpServletResponse.sendRedirect("LoginServlet?method=login"); return; } chain.doFilter(request, response); } /** * @see Filter#init(FilterConfig) */ public void init(FilterConfig fConfig) throws ServletException { // TODO Auto-generated method stub } } package model; import java.io.Serializable; import java.sql.Timestamp; public class Message implements Serializable{ private int id; private int u_id; public int getU_id() { return u_id; } public void setU_id(int u_id) { this.u_id = u_id; } public User getUser() { return user; } public void setUser(User user) { this.user = user; } private User user; private String content; private String createTime; public int getId() { return id; } public void setId(int id) { this.id = id; } public String getTitle() { return title; } public void setTitle(String title) { this.title = title; } private String title; public String getContent() { return content; } public void setContent(String content) { this.content = content; } public String getCreateTime() { return createTime; } public void setCreateTime(String createTime) { this.createTime = createTime; } } package model; import java.util.List; public class PageBean { public List<Message> getMdata() { return mdata; } public void setMdata(List<Message> mdata) { this.mdata = mdata; } List<Message> mdata; int firstPage; int prePage; int nextPage; int totalPage; int currentPage; int pageSize; int totalCount; public int getFirstPage() { return 1; } public void setFirstPage(int firstPage) { this.firstPage = firstPage; } public int getPrePage() { return this.getCurrentPage()==this.getFirstPage()?1: this.getCurrentPage()-1; } public void setPrePage(int prePage) { this.prePage = prePage; } public int getNextPage() { return this.getCurrentPage()==this.getTotalPage()?this .getTotalPage(): this.getCurrentPage()+1; } public void setNextPage(int nextPage) { this.nextPage = nextPage; } public int getTotalPage() { return this.getTotalCount()%this.getPageSize()==0?this.getTotalCount()/this.getPageSize() : this.getTotalCount()/this.getPageSize()+1; } public void setTotalPage(int totalPage) { this.totalPage = totalPage; } public int getCurrentPage() { return currentPage; } public void setCurrentPage(int currentPage) { this.currentPage = currentPage; } public int getTotalCount() { return totalCount; } public void setTotalCount(int totalCount) { this.totalCount = totalCount; } public int getPageSize() { return pageSize; } public void setPageSize(int pageSize) { this.pageSize = pageSize; } } package model; import java.io.Serializable; public class User implements Serializable{ private Integer id; public Integer getId() { return id; } public void setId(Integer id) { this.id = id; } public String getUsername() { return username; } public void setUsername(String username) { this.username = username; } public String getPassword() { return password; } public void setPassword(String password) { this.password = password; } public Integer getType() { return type; } public void setType(Integer type) { this.type = type; } public String getSex() { return sex; } public void setSex(String sex) { this.sex = sex; } private String username; private String password; private Integer type; private String sex; private String realname; public String getRealname() { return realname; } public void setRealname(String realname) { this.realname = realname; } } package utils; import java.sql.Connection; import java.sql.SQLException; import javax.sql.DataSource; import com.mchange.v2.c3p0.ComboPooledDataSource; //使用C3p0连接池获取连接数据库 public class C3p0Utils { private static DataSource ds; static{ ds=new ComboPooledDataSource(); } public static DataSource getDs(){ return ds; } public static Connection getConnection() throws SQLException{ return ds.getConnection(); } public static void main(String args[]) throws SQLException { System.out.println(new C3p0Utils().getConnection()+"连接成功"); } } package utils; import dao.UserDao; public class PageUtils { private UserDao userdao=new UserDao(); public boolean existsUserName(String username) { if(userdao.findByUserName(username)==null){ return false;//表示不可以用 } return true;//表示可以用 } } package utils; import java.util.List; import dao.MessageDao; import dao.UserDao; import model.Message; import model.PageBean; import model.User; public class PageUtils2 { private UserDao userdao=new UserDao(); public PageBean queryPageBean(String currentPage,int pageSize) { PageBean pageBean = new PageBean(); pageBean.setCurrentPage(Integer.parseInt(currentPage)); MessageDao dao = new MessageDao(); int totalCount=dao.queryCount(); pageBean.setTotalCount(totalCount); pageBean.setPageSize(pageSize); List<Message> list = dao.queryData(pageBean.getCurrentPage() ,pageBean.getPageSize()); for(Message m:list) { User user=userdao.findById(m.getU_id()); m.setUser(user); } pageBean.setMdata(list); return pageBean; } public PageBean queryPageBean2(String currentPage,int pageSize) { PageBean pageBean = new PageBean(); pageBean.setCurrentPage(Integer.parseInt(currentPage)); MessageDao dao = new MessageDao(); int totalCount=dao.queryCount(); pageBean.setTotalCount(totalCount); pageBean.setPageSize(pageSize); List<Message> list = dao.queryData(pageBean.getCurrentPage() ,pageBean.getPageSize()); for(Message m:list) { User user=userdao.findById(m.getU_id()); m.setUser(user); } pageBean.setMdata(list); return pageBean; } }
留言板后台。
标签:String,--,request,源码,JSP,user,new,import,public From: https://www.cnblogs.com/lhd001/p/17196712.html