javascript
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显示新闻的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 怎么做Web应用压力测试?
- 下一篇: 贝加莱plc用c语言,贝加莱PLC快速入