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类,用于返回所有查询结果

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

四、任务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 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 效果展示

六、码云地址

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

  1. java ee实验二_javaEE实验二 Servlet与JDBC数据库连接201210405214 杨茜婷

    } if(repassword==null||repassword.trim().length()==0) { } //如果密码和确认密码不符,自动跳转到注册页面 if(!password.equal ...

  2. java ee学生管理系统_javaEE 学生基本信息管理系统

    javaEE 学生基本信息管理系统 软 件 学 院课程设计报告书课程名称 Java EE 课程设计 设计题目 学生基本信息管理系统 专业班级 学 号 姓 名 指导教师 2011 年 12 月1 设计时 ...

  3. java ee 值范围_javaEE四大作用域(共享域)

    https://www.cnblogs.com/huifeidezhuzai/p/10883953.html 作用域------顾名思义,起作用的大小范围也!如果是你自己去学习一个知识点,你要达到哪些 ...

  4. java ee是什么_javaee是什么?

    Java EE是 J2EE的一个新的名称,之所以改名,目的还是让大家清楚J2EE只是Java企业应用.随着WEB和EJB容器概念诞生,使得软件应用业开始担心SUN的伙伴们是否还在Java平台上不断推出 ...

  5. java ee 值范围_JAVAEE之内置对象和属性范围

    内置对象和属性范围 四种属性范围 九个内置对象 1.内置对象 如果说想要使用一个对象,必须new 出来,但是在我们的jsp操作中,发现我们使用过的out,request对象没有进行实例化,类似于这样的 ...

  6. java ee监听器编程,java EE开发之Servlet第四课:监听器(Listener)

    1.什么是Listener 监听器就像老板的秘书,那个秘书就是活的监听器,时时监听着老板,当老板发生一些事情的时候,秘书就会有相应的措施.比如老板口渴了,秘书就会去端茶:比如老板要提提神,秘书就会泡一 ...

  7. spring是java ee框架吗_JavaEE微框架Spring Boot深入解读

    前言 spring框架作为javaee框架领域的一款重要的开源框架,在企业应用开发中有着很重要的作用,同时spring框架及其子框架很多,所以知识量很广. spring boot:一款spring框架 ...

  8. java ee 三层架构_JavaEE的三层架构

    ## JavaEE的三层架构 ## 1.JavaEE架构图 ![在这里插入图片描述][watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM ...

  9. java ee 三层架构_JavaEE——三层架构模式介绍

    声明:本栏目所使用的素材都是凯哥学堂VIP学员所写,学员有权匿名,对文章有最终解释权:凯哥学堂旨在促进VIP学员互相学习的基础上公开笔记. 三层架构模式介绍 三层架构模式: 三层架构(3-tier a ...

最新文章

  1. K-近邻算法之案例:鸢尾花种类预测—流程实现
  2. 重磅!上海交通大学取消博士论文发表要求!
  3. Nukeygara Akeytsu 2020中文版
  4. Python list列表的使用(增删改查)
  5. DataGrid中实现输入数量和金额自动计算出总金额
  6. UIWindow的windowLevel详解
  7. C++ 空间配置器(allocator)
  8. 微信android版6.3.27,微信6.3.27旧版本
  9. 如何安装mysql 5.72_linux安装MySQL5.7.13(二进制|源码)
  10. SoftICE使用(3)—在VMware中配置远程SoftICE的另一种办法 zz xfocus
  11. 解读神经网络十大误解,再也不会弄错它的工作原理
  12. Android手机HC-05蓝牙连接Arduino nano获取DHT-11温湿度传感器数据
  13. 我的世界光影mod怎么用_我的世界光影怎么安装 光影安装教程
  14. 程慧:积极建旅游大数据 科学监管市场
  15. LeetCode题解(面试10.11):峰与谷(Python)
  16. 刚出道的黑客搞瘫美国输油管道!
  17. tomcat 在线一键安装
  18. 北京某金融公司(Java开发实习生)面试及答案
  19. POCO C++简介
  20. Steam/Epic已经安装的游戏不在库里显示

热门文章

  1. 前端学习(505):垂直居中的第一种方式的优点和缺点
  2. shiro学习(14):springMVC结合shiro完成认证
  3. 第九十六期:JavaScript 中的 4 个相等比较算法的介绍
  4. linux mysql数据库备份并删除前一分钟的数据
  5. pythonlocust使用方法_使用python的locust库进行性能测试
  6. 安装ipython失败 in error catcher_疯狂的Python:零基础小白入门帖子详情 - 网易云课堂...
  7. Codeforces Round #530 Div. 1 自闭记
  8. hadoop 2.7.2 + zookeeper 高可用集群部署
  9. HashMap和ConcurrentHashMap的区别,HashMap的底层源码。
  10. MVC5中利用NOPI导出EXCLE