基于javaweb的JSP+Servlet新闻消息发布系统(java+jsp+javascript+servlet+mysql)

运行环境

Java≥8、MySQL≥5.7、Tomcat≥8

开发工具

eclipse/idea/myeclipse/sts等均可配置运行

适用

课程设计,大作业,毕业设计,项目练习,学习演示等

功能说明

040123002402

050123002402

060123002402

080123002402

090123002402

100123002402

基于javaweb的JSP+Servlet新闻消息发布系统(java+jsp+javascript+servlet+mysql)

项目介绍

本项目分为前后台; 前台主要功能为: 首页、娱乐新闻、政治新闻、经济新闻、文化新闻、小道新闻、用户评价等;

后台主要功能为: 可以对新闻类别,新闻,新闻评论,友情链接等进行数据管理

环境需要

1.运行环境:最好是java jdk 1.8,我们在这个平台上运行的。其他版本理论上也可以。 2.IDE环境:IDEA,Eclipse,Myeclipse都可以。推荐IDEA; 3.tomcat环境:Tomcat 7.x,8.x,9.x版本均可 4.硬件环境:windows 7/8/10 1G内存以上;或者 Mac OS;  5.数据库:MySql 5.7版本; 6.是否Maven项目: 否;查看源码目录中是否包含pom.xml;若包含,则为maven项目,否则为非maven项目

技术栈

  1. 后端:servlet 2. 前端:JSP+css+javascript

使用说明

  1. 使用Navicat或者其它工具,在mysql中创建对应名称的数据库,并导入项目的sql文件; 2. 使用IDEA/Eclipse/MyEclipse导入项目,Eclipse/MyEclipse导入时,若为maven项目请选择maven; 若为maven项目,导入成功后请执行maven clean;maven install命令,然后运行; 3. 将项目中news.properties配置文件中的数据库配置改为自己的配置; 4. 运行项目,在浏览器中输入http://localhost:8080/News 后台地址:http://localhost:8080/News/user?action=login 用户名:admin,密码:123456

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30




public class NewsTypeServlet extends HttpServlet{

/**
*
*/
private static final long serialVersionUID = 1L;

DbUtil dbUtil=new DbUtil();
NewsDao newsDao=new NewsDao();
NewsTypeDao newsTypeDao=new NewsTypeDao();

@Override
protected void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
this.doPost(request, response);
}

@Override
protected void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
request.setCharacterEncoding("utf-8");
String action=request.getParameter("action");
if("preSave".equals(action)){
this.newsTypePreSave(request, response);
}else if("save".equals(action)){
this.newsTypeSave(request, response);
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
			e.printStackTrace();
}finally{
try {
dbUtil.closeCon(con);
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}


private void commentDelete(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
String commentIds=request.getParameter("commentIds");
Connection con=null;
try{
con=dbUtil.getCon();
JSONObject result=new JSONObject();
int delNums=commentDao.commentDelete(con, commentIds);
if(delNums>0){
result.put("success", true);
result.put("delNums", delNums);
}else{
result.put("errorMsg", "删除失败");
}
ResponseUtil.write(result, response);
}catch(Exception e){
e.printStackTrace();
}finally{
try {
dbUtil.closeCon(con);
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
}
package com.demo.web;

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
		try {
dbUtil.closeCon(con);
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}

private String genUpAndDownPageCode(List<News> upAndDownPage){
News upNews=upAndDownPage.get(0);
News downNews=upAndDownPage.get(1);
StringBuffer pageCode=new StringBuffer();
if(upNews.getNewsId()==-1){
pageCode.append("<p>上一篇:没有了</p>");
}else{
pageCode.append("<p>上一篇:<a href='news?action=show&newsId="+upNews.getNewsId()+"'>"+upNews.getTitle()+"</a></p>");
}
if(downNews.getNewsId()==-1){
pageCode.append("<p>下一篇:没有了</p>");
}else{
pageCode.append("<p>下一篇:<a href='news?action=show&newsId="+downNews.getNewsId()+"'>"+downNews.getTitle()+"</a></p>");
}
return pageCode.toString();
}


private void newsPreSave(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
String newsId=request.getParameter("newsId");
Connection con=null;
try{
con=dbUtil.getCon();
if(StringUtil.isNotEmpty(newsId)){
News news=newsDao.getNewsById(con, newsId);
request.setAttribute("news", news);
}
List<NewsType> newsTypeList=newsTypeDao.newsTypeList(con);
request.setAttribute("newsTypeList", newsTypeList);
if(StringUtil.isNotEmpty(newsId)){
request.setAttribute("navCode", NavUtil.genNewsManageNavigation("新闻管理", "新闻修改"));
}else{
request.setAttribute("navCode", NavUtil.genNewsManageNavigation("新闻管理", "新闻添加"));
}
request.setAttribute("mainPage", "/background/news/newsSave.jsp");
request.getRequestDispatcher("/background/mainTemp.jsp").forward(request, response);
}catch(Exception e){
e.printStackTrace();
}finally{
try {
dbUtil.closeCon(con);
} catch (Exception e) {
// TODO Auto-generated catch block
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
		throws ServletException, IOException {
String newsId=request.getParameter("newsId");
Connection con=null;
try{
con=dbUtil.getCon();
if(StringUtil.isNotEmpty(newsId)){
News news=newsDao.getNewsById(con, newsId);
request.setAttribute("news", news);
}
List<NewsType> newsTypeList=newsTypeDao.newsTypeList(con);
request.setAttribute("newsTypeList", newsTypeList);
if(StringUtil.isNotEmpty(newsId)){
request.setAttribute("navCode", NavUtil.genNewsManageNavigation("新闻管理", "新闻修改"));
}else{
request.setAttribute("navCode", NavUtil.genNewsManageNavigation("新闻管理", "新闻添加"));
}
request.setAttribute("mainPage", "/background/news/newsSave.jsp");
request.getRequestDispatcher("/background/mainTemp.jsp").forward(request, response);
}catch(Exception e){
e.printStackTrace();
}finally{
try {
dbUtil.closeCon(con);
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}

private void newsSave(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
FileItemFactory factory=new DiskFileItemFactory();
ServletFileUpload upload=new ServletFileUpload(factory);
List<FileItem> items=null;
try {
items=upload.parseRequest(request);
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
Iterator itr=items.iterator();
News news=new News();
while(itr.hasNext()){
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
			} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
}
package com.demo.web;





public class LinkServlet extends HttpServlet{

/**
*
*/
private static final long serialVersionUID = 1L;

DbUtil dbUtil=new DbUtil();
LinkDao linkDao=new LinkDao();

protected void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
this.doPost(request, response);
}

@Override
protected void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
request.setCharacterEncoding("utf-8");
String action=request.getParameter("action");
if("preSave".equals(action)){
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
                String newPath = PropertiesUtil.getValue("imageFile") + "/" + imageName + "." + fileItem.getName().split("\\.")[1];
fileItem.write(file);
String callback = request.getParameter("CKEditorFuncNum");
out.println("<script type=\"text/javascript\">");
out.println("window.parent.CKEDITOR.tools.callFunction(" + callback + ",'" + newPath + "',''" + ")");
out.println("</script>");
out.flush();
}
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
package com.demo.web;




public class UserServlet extends HttpServlet{

/**
*
*/
private static final long serialVersionUID = 1L;

DbUtil dbUtil=new DbUtil();
UserDao userDao=new UserDao();


protected void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
this.doPost(request, response);
}

@Override


项目链接:
https://javayms.github.io?id=061122582008200us
https://javayms.pages.dev?id=061122582008200us