提供邢台网站优化,自己建设手机网站,wordpress更新方法,铁建设文件在什么网站下载JAVAEE第四次作业-JSP显示新闻一、任务使用mysql创建新闻表用户登录时#xff0c;用servlet获取用户名密码#xff0c;查询数据库是否存在如果是正确的用户名密码#xff0c;查询新闻表#xff0c;将新闻数据传给JSP首页JSP首页用EL表达式显示新闻标题列表二、任务1实验过程…JAVAEE第四次作业-JSP显示新闻一、任务使用mysql创建新闻表用户登录时用servlet获取用户名密码查询数据库是否存在如果是正确的用户名密码查询新闻表将新闻数据传给JSP首页JSP首页用EL表达式显示新闻标题列表二、任务1实验过程使用mysql创建新闻表2.1 Mysql新建新闻表插入相应数据USE users;CREATE TABLE News (NewID VARCHAR(20),Title VARCHAR(50) NOT NULL,NewsContent VARCHAR(100) NOT NULL,Author VARCHAR(20) NOT NULL,NewsDate VARCHAR(50) NOT NULL,PRIMARY KEY(NewID));INSERT INTO News VALUES (1,思政教育“不下线”,计科院成立湖北籍学生临时团支部,湖北团支部,2020-06-10);INSERT INTO News VALUES (2,硕士研究生招生考试1,工作圆满结束1,计科院1,2020-06-11);INSERT INTO News VALUES (3,硕士研究生招生考试2,工作圆满结束2,计科院2,2020-06-12);INSERT INTO News VALUES (4,硕士研究生招生考试3,工作圆满结束3,计科院3,2020-06-13);SELECT * FROM News;2.2 Mysql新建用户信息表插入相应数据CREATE DATABASE USERS;USE USERS;CREATE TABLE USERS_INFO (UID VARCHAR(20) NOT NULL,UNAME VARCHAR(20) NOT NULL,UPWD VARCHAR(20) NOT NULL,PRIMARY KEY(UID));INSERT INTO USERS_INFO VALUES (111,Sonny,123);INSERT INTO USERS_INFO VALUES (222,Jason,123);INSERT INTO USERS_INFO VALUES (333,Spider,123);SELECT * FROM USERS_INFO;2.3 查看添加的数据结果1. 新闻表2. 用户信息表三、任务2实验过程用户登录时用servlet获取用户名密码查询数据库是否存在3.1 创建UserInfo 实体类利用实体类来返回数据库的查询结果这样使程序的可读性更高。3.2 使用MVC模式分离业务模式编写SqlHelper类用于返回所有查询结果//selectpublic static ResultSet executeQuery(String SQL){try{Connection conngetConnection();Statement stmtconn.createStatement();ResultSet rsstmt.executeQuery(SQL);return rs;} catch (SQLException e) {e.printStackTrace();System.out.println(查询失败);return null;}}//insert update deletepublic static boolean executeUpdate(String SQL){try{Connection conngetConnection();Statement stmtconn.createStatement();int rsstmt.executeUpdate(SQL);if (rs0)return true;elsereturn false;} catch (SQLException e) {e.printStackTrace();System.out.println(更新失败);return false;}}编写具体的查询业务获取查询结果public boolean QueryUsers(UserInfo user) throws SQLException {//验证用户名存在性String sql select * from users_info where UNAME user.getuName() and UPWD user.getuPwd() ;ResultSet rs SqlHelper.executeQuery(sql);if (rs.next()) {return true;}return false;}编写Servlet将查询结果返回前端//获取form中的数据UserInfo user new UserInfo();user.setuName(request.getParameter(username));user.setuPwd(request.getParameter(password));System.out.println(user.getuName() : user.getuPwd() !!!!!!!!!!!!!!!!!!!!!!!!);//验证用户名密码UsersService usersService new UsersService();//确认数据库是否存在boolean isHasUser usersService.QueryUsers(user);//存在则将结果存到Cookieif (isHasUser) {int saveyTime 60 * 60 * 24 * 30; //保存的时间//保存账号Cookie cookieUserName new Cookie(username, user.getuName());cookieUserName.setMaxAge(saveyTime);response.addCookie(cookieUserName);//保存密码Cookie cookieUserPwd new Cookie(password, user.getuPwd());cookieUserName.setMaxAge(saveyTime);response.addCookie(cookieUserPwd);//重定向值index.html界面response.sendRedirect(page/index.html);} else {//重定向值login.html界面response.sendRedirect(login.html);}}3.3 登录账号进入管理后台四、任务3实验过程如果是正确的用户名密码查询新闻表将新闻数据传给JSP首页4.1 创建News实体类利用实体类来返回数据库的查询结果这样使程序的可读性更高。4.2 返回数据库中的新闻查询结果public List findNews() throws SQLException {String sql Select * from news;ResultSet rs SqlHelper.executeQuery(sql);List newsList new ArrayList();while (rs.next()) {News news new News();news.setNewsId(rs.getInt(NewID));news.setTitle(rs.getString(Title));news.setNewsContent(rs.getString(NewsContent));news.setAuthor(rs.getString(Author));news.setNewsDate(rs.getDate(NewsDate));newsList.add(news);}return newsList;}4.3 编写Servlet显示查询结果至jsp中request.setCharacterEncoding(utf-8);NewsService newsServicenew NewsService();try {List newsListnewsService.findNews();request.setAttribute(News,newsList);request.getRequestDispatcher(ShowNewsList.jsp).forward(request,response);} catch (SQLException e) {e.printStackTrace();}五、任务4实验过程JSP首页用EL表达式显示新闻标题列表5.1 EL表达式显示新闻标题列表ID标题内容作者时间操作${n.newsId}${n.title}${n.newsContent} ${n.author}${n.newsDate}编辑查看删除5.2 效果展示六、码云地址