java ee实验新闻_JAVAEE第四次作业-JSP显示新闻

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. 新闻表

8b0a0341ee18a97f2fd242849d191269.png

2. 用户信息表

ee39f9553c0ac7df1aa951df3f35cc62.png

三、任务2实验过程

用户登录时,用servlet获取用户名密码,查询数据库是否存在

3.1 创建UserInfo 实体类

利用实体类来返回数据库的查询结果,这样使程序的可读性更高。

5539399766a63d2a0d1191b0895a43c4.png

3.2 使用MVC模式,分离业务模式

编写SqlHelper类,用于返回所有查询结果

//select

public static ResultSet executeQuery(String SQL)

{

try

{

Connection conn=getConnection();

Statement stmt=conn.createStatement();

ResultSet rs=stmt.executeQuery(SQL);

return rs;

} catch (SQLException e) {

e.printStackTrace();

System.out.println("查询失败!");

return null;

}

}

//insert update delete

public static boolean executeUpdate(String SQL)

{

try

{

Connection conn=getConnection();

Statement stmt=conn.createStatement();

int rs=stmt.executeUpdate(SQL);

if (rs>0)

return true;

else

return 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);

//存在则将结果存到Cookie

if (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 登录账号,进入管理后台

89fb03e07ad0d2e759ab4cb2862b3650.png

a0927338c78cb9868b81fd58c764553e.png

四、任务3实验过程

如果是正确的用户名密码,查询新闻表,将新闻数据传给JSP首页

4.1 创建News实体类

利用实体类来返回数据库的查询结果,这样使程序的可读性更高。

3fbd83f95df0b7b9be9a581493515d39.png

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 newsService=new NewsService();

try {

List newsList=newsService.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 效果展示

94346a2e1ed11f2e40065c4eac836395.png

六、码云地址

a7ad78c2658f384131aef139889adca1.png

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/422161.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

sql数据库连接不上本地数据库的解决办法

如果sql数据库连接本地的sql数据库连接不上即用.连接不上了,错误内容为: 可以执行一下以下操作:开始-sql—配置工具—sql server 外围应用配置器—服务和连接的外围应用配置器—如果服务状态为:已停止,则启动一下即可。…

前端学习(576):margin无效情形之内联特性导致无效

当负值到达一定情况开始失效 内联的特性受到限制

java windows so文件_windows下编译使用NDK,调用SO文件 | 学步园

下载后把压缩包解压出来,例如:D:\ndk,目录下的ndk-build.cmd就是用来编译的批处理命令。这里以D:\ndk\samples\hello-jni为例,打开D:\ndk\samples\hello-jni\jni\hello-jni.c查看代码:/** Copyright (C) 2009 The Andr…

php 注销session_php浏览器关闭页面怎么注销session

php浏览器关闭session的方法:首先使用“session_start();”开启session;然后清空session信息;接着清除客户端sessionid;最后通过“session_destroy();”彻底销毁session即可。1、每个页面都必须开启session_start()后才能在每个页…

一道算法题跟大家分享

无意中看到一道算法题&#xff0c;拿出我的解法与大家分享。 题目&#xff1a;输出1,2,3,4四个数字能组成的互不相同且无重复的三位数并统计满足条件的三位数个数 大家先想想&#xff0c;再看答案吧。 View Code 1 /// <summary>2 /// 计算1,2,3,4产生的组成互…

NSTimer 与 Run loop Modes

一.NSRunLoop 在Cocoa中&#xff0c;每个线程(NSThread)对象中内部都有一个run loop&#xff08;NSRunLoop&#xff09;对象用来循环处理输入事件&#xff0c;处理的事件包括两类&#xff0c;一是来自Input sources的异步事件&#xff0c;一是来自Timer sources的同步事件;run …

游戏软件提示d3dcompiler_43.dll的五个解决方法,亲测靠谱

在使用电脑进行工作&#xff0c;玩游戏的时候&#xff0c;我们常常会遇到一些错误提示&#xff0c;其中之一就是“D3DCompiler_43.dll丢失”的提示。D3DCompiler_43.dll是一个非常重要的动态链接库文件。它是由DirectX SDK提供的&#xff0c;用于编译和优化DirectX着色器代码的…

php需要掌握什么,php专业需要掌握哪些知识

网站我们分为前端、后端&#xff0c;组成在一起就可以搭建一套独立的网站。在招聘职位中&#xff0c;前端和后端是分开来招聘的&#xff0c;有前端设计师&#xff0c;PHP后端工程师。如果你能独立完成一个网站&#xff0c;那就是全栈工程师了。好了&#xff0c;让我们来看看搭建…

前端学习(582):实现观看和调试dom节点

1双击编辑修改 2修改dom 右击edit as html 3复制粘贴

无法打开用户默认数据库,登录失败,用户‘sa’登录失败,错误:4064的解决方法...

无法打开用户默认数据库&#xff0c;登录失败&#xff0c;这是因为登录帐户的默认数据库被删除。解决方案&#xff1a;用windows身份模式进入&#xff0c;选择“安全性”---"登录名"------“HRKJ”&#xff0c;在HRKJ上右击&#xff0c;弹出如图窗口&#xff0c;找到…

前端学习(584):在dom中调试节点

第一种方式 修改完成 第二种 删除标签 执行 第三种 执行 删除

php订阅系统,php redis pub/sub(Publish/Subscribe,发布/订阅的信息系统)之基本使用

一.场景介绍最近的一个项目需要用到发布/订阅的信息系统&#xff0c;以做到最新实时消息的通知。经查找后发现了redis pub/sub(发布/订阅的信息系统)可以满足我的开发需求,而且学习成本和使用成本也比较低。二.什么是redis pub/sub资料查看大家在看我的blog的同时可以打开redis…