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. 新闻表
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显示新闻相关推荐
- java ee实验二_javaEE实验二 Servlet与JDBC数据库连接201210405214 杨茜婷
} if(repassword==null||repassword.trim().length()==0) { } //如果密码和确认密码不符,自动跳转到注册页面 if(!password.equal ...
- java ee学生管理系统_javaEE 学生基本信息管理系统
javaEE 学生基本信息管理系统 软 件 学 院课程设计报告书课程名称 Java EE 课程设计 设计题目 学生基本信息管理系统 专业班级 学 号 姓 名 指导教师 2011 年 12 月1 设计时 ...
- java ee 值范围_javaEE四大作用域(共享域)
https://www.cnblogs.com/huifeidezhuzai/p/10883953.html 作用域------顾名思义,起作用的大小范围也!如果是你自己去学习一个知识点,你要达到哪些 ...
- java ee是什么_javaee是什么?
Java EE是 J2EE的一个新的名称,之所以改名,目的还是让大家清楚J2EE只是Java企业应用.随着WEB和EJB容器概念诞生,使得软件应用业开始担心SUN的伙伴们是否还在Java平台上不断推出 ...
- java ee 值范围_JAVAEE之内置对象和属性范围
内置对象和属性范围 四种属性范围 九个内置对象 1.内置对象 如果说想要使用一个对象,必须new 出来,但是在我们的jsp操作中,发现我们使用过的out,request对象没有进行实例化,类似于这样的 ...
- java ee监听器编程,java EE开发之Servlet第四课:监听器(Listener)
1.什么是Listener 监听器就像老板的秘书,那个秘书就是活的监听器,时时监听着老板,当老板发生一些事情的时候,秘书就会有相应的措施.比如老板口渴了,秘书就会去端茶:比如老板要提提神,秘书就会泡一 ...
- spring是java ee框架吗_JavaEE微框架Spring Boot深入解读
前言 spring框架作为javaee框架领域的一款重要的开源框架,在企业应用开发中有着很重要的作用,同时spring框架及其子框架很多,所以知识量很广. spring boot:一款spring框架 ...
- java ee 三层架构_JavaEE的三层架构
## JavaEE的三层架构 ## 1.JavaEE架构图 ![在这里插入图片描述][watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM ...
- java ee 三层架构_JavaEE——三层架构模式介绍
声明:本栏目所使用的素材都是凯哥学堂VIP学员所写,学员有权匿名,对文章有最终解释权:凯哥学堂旨在促进VIP学员互相学习的基础上公开笔记. 三层架构模式介绍 三层架构模式: 三层架构(3-tier a ...
最新文章
- K-近邻算法之案例:鸢尾花种类预测—流程实现
- 重磅!上海交通大学取消博士论文发表要求!
- Nukeygara Akeytsu 2020中文版
- Python list列表的使用(增删改查)
- DataGrid中实现输入数量和金额自动计算出总金额
- UIWindow的windowLevel详解
- C++ 空间配置器(allocator)
- 微信android版6.3.27,微信6.3.27旧版本
- 如何安装mysql 5.72_linux安装MySQL5.7.13(二进制|源码)
- SoftICE使用(3)—在VMware中配置远程SoftICE的另一种办法 zz xfocus
- 解读神经网络十大误解,再也不会弄错它的工作原理
- Android手机HC-05蓝牙连接Arduino nano获取DHT-11温湿度传感器数据
- 我的世界光影mod怎么用_我的世界光影怎么安装 光影安装教程
- 程慧:积极建旅游大数据 科学监管市场
- LeetCode题解(面试10.11):峰与谷(Python)
- 刚出道的黑客搞瘫美国输油管道!
- tomcat 在线一键安装
- 北京某金融公司(Java开发实习生)面试及答案
- POCO C++简介
- Steam/Epic已经安装的游戏不在库里显示
热门文章
- 前端学习(505):垂直居中的第一种方式的优点和缺点
- shiro学习(14):springMVC结合shiro完成认证
- 第九十六期:JavaScript 中的 4 个相等比较算法的介绍
- linux mysql数据库备份并删除前一分钟的数据
- pythonlocust使用方法_使用python的locust库进行性能测试
- 安装ipython失败 in error catcher_疯狂的Python:零基础小白入门帖子详情 - 网易云课堂...
- Codeforces Round #530 Div. 1 自闭记
- hadoop 2.7.2 + zookeeper 高可用集群部署
- HashMap和ConcurrentHashMap的区别,HashMap的底层源码。
- MVC5中利用NOPI导出EXCLE