基于javaweb+mysql的ssm新闻管理系统(java+ssm+js+jsp+mysql)
私信源码获取及调试交流
运行环境
Java≥8、MySQL≥5.7、Tomcat≥8
开发工具
eclipse/idea/myeclipse/sts等均可配置运行
适用
课程设计,大作业,毕业设计,项目练习,学习演示等
功能说明
基于javaweb的SSM新闻管理系统(java+ssm+js+jsp+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版本;
技术栈
- 后端:Spring+SpringMVC+Mybatis 2. 前端:HTML+CSS+JavaScript+jsp
使用说明
- 使用Navicat或者其它工具,在mysql中创建对应名称的数据库,并导入项目的sql文件; 2. 使用IDEA/Eclipse/MyEclipse导入项目,Eclipse/MyEclipse导入时,若为maven项目请选择maven;若为maven项目,导入成功后请执行maven clean;maven install命令,然后运行; 3. 将项目中application.yml配置文件中的数据库配置改为自己的配置; 4. 运行项目,输入localhost:8080/ 登录
}
public static void main(String[] args) {
System.out.println(FileUploadUtils.randomFileName());
}
}
/**
*
*实现对赞助的管理
*/
@Controller
@RequestMapping("support")
public class SupportHandler{
@Autowired
SupportService supportService;
//跳转到添加用户界面
@RequestMapping("toAddSupport")
public String toAddUser(){
return "houtai/allSupport.jsp";
}
// 添加赞助并重定向
@RequestMapping("addSupport")
public String addManager(HttpServletRequest req){
String name=req.getParameter("SupportName");
String money=req.getParameter("addMoney");
String text=req.getParameter("addText");
Support support=new Support();
support.setSname(name);
support.setSmoney(money);
@RequestMapping("tpchshihua")
public String tpchushihua(HttpServletRequest req){
String url="";
List<News_type> list1=getnt.getnewstype();
req.getSession().setAttribute("ntp", list1);
List<News_type> list2=getnt.getnewstype();
req.getSession().setAttribute("ntp2", list2);
String flag=req.getParameter("flag");
if(flag==null){
url="redirect:fenglieguanli.jsp";
}else {
url="redirect:houtai/fenglieguanli.jsp";}
return url;
}
@RequestMapping("gaitp")
public String gaitp(HttpServletRequest req) throws UnsupportedEncodingException{
String url="";
req.setCharacterEncoding("utf-8");
int ntid=Integer.parseInt(req.getParameter("id"));
String ntname=req.getParameter("tpname");
ntname=new String(ntname);
News_type t=new News_type();
t.setNtid(ntid);
t.setNtname(ntname);
int i=getnt.gaitp(t);
url="tpchshihua?flag=1";
return url;
}
@RequestMapping("delnt")
public String delnt(HttpServletRequest req){
String url="";
int i;
int ntid=Integer.parseInt(req.getParameter("ntid"));
List<News> list = getnews.findnewntid(ntid);
if(list.size()==0){
i=getnt.delnt(ntid);}
else{
i=0;
}
if(i==0){
req.getSession().setAttribute("shibai", 1);
}
url="tpchshihua?flag=2";
return url;
}
@RequestMapping("insertnt")
public String insertnt(HttpServletRequest req) throws UnsupportedEncodingException{
String url="";
String ntname= req.getParameter("tpname");
ntname=new String(ntname);
News_type r=new News_type();
r.setNtname(ntname);
int i= getnt.insertnt(r);
url="tpchshihua?flag=1";
@RequestMapping("Managerlogin")
// 管理员登录
public String Managerlogin(HttpServletRequest req,
HttpServletResponse response) throws IOException {
req.setCharacterEncoding("utf-8");
String url = "";
String name = req.getParameter("username");
String pwd = req.getParameter("password");
Manager m = new Manager();
m.setMname(name);
m.setPwd(pwd);
loginManager = managerService.findManager(m);
if (loginManager == null) {
/* req.getSession().setAttribute("mesg", "用户名或密码错误!"); */
url = "redirect:houtai/admin_login.jsp?mesg=Name or Password Error!";
} else {
req.getSession().setAttribute("loginManager", loginManager);
url = "redirect:houtai/index.jsp";
}
return url;
}
@RequestMapping("loginout")
// 注销
public String loginout(HttpServletRequest req, HttpServletResponse response)
throws IOException {
req.getSession().invalidate();
return "redirect:index.jsp";
}
@RequestMapping("toHoutai")
// 转到后台
public String toHoutai(HttpServletRequest req) throws IOException {
req.getSession().invalidate();
return "redirect:houtai/admin_login.jsp";
}
@RequestMapping("modify")
public String modify(HttpServletRequest request,
return "houtai/support.jsp";
}
// 查询单个赞助
@RequestMapping("getSupport")
public String getUser(int mid,Model model){
model.addAttribute("user", supportService.findSupportById(mid));
return "editSupport";
}
@RequestMapping("delSupport")
public String deleteUser(HttpServletRequest req) {
Integer mid=Integer.parseInt(req.getParameter("id"));
supportService.deleteSupport(mid);
return "redirect:SupportInfo";
}
// 分页查询赞助信息
@RequestMapping("SupportInfo")
public String getUsers(@RequestParam(value="pn",defaultValue="1")Integer pn,Model model){
//从第一条开始 每页查询五条数据
PageHelper.startPage(pn, 5);
List<Support> support = supportService.findAll();
//将用户信息放入PageInfo对象里
PageInfo page = new PageInfo( support,5);
model.addAttribute("pageInfo", page);
// return "houtai/support.jsp";
return "houtai/support.jsp";
}
//返回后台首页
@RequestMapping("index")
public String index(){
return "redirect:houtai/index.jsp";
}
}
manager.setMname(name);
manager.setPwd(pwd);
managerService.updateUser(manager);
//managerService.deleteManager(Integer.parseInt(id));
return "redirect:ManagerInfo";
}
// 查询所有管理员
@RequestMapping("getAllManager")
public String getAllUser(Model model){
List<Manager> manager = managerService.findAll();
model.addAttribute("managerList",manager);
return "houtai/allManager.jsp";
}
// 查询单个管理员
@RequestMapping("getManager")
public String getUser(int mid,Model model){
model.addAttribute("user", managerService.findUserById(mid));
return "editUser";
}
@RequestMapping("delManager")
public String deleteUser(HttpServletRequest req) {
Integer mid=Integer.parseInt(req.getParameter("id"));
managerService.deleteManager(mid);
return "redirect:ManagerInfo";
}
///分页查询管理员信息
@RequestMapping("ManagerInfo")
public String getUsers(@RequestParam(value="pn",defaultValue="1")Integer pn,Model model){
//从第一条开始 每页查询五条数据
PageHelper.startPage(pn, 5);
List<Manager> manager = managerService.findAll();
//将用户信息放入PageInfo对象里
PageInfo page = new PageInfo( manager,5);
model.addAttribute("pageInfo", page);
return "houtai/allManager.jsp";
/* return "houtai/test.jsp";*/
/**
*
*/
@Controller
public class kaishi {
@Autowired
getNewtype getnt;
@Autowired
getNews getnews;
@Autowired
getReview getr;
@Autowired
getSupport getsupport;
@Autowired
SourceService sourceService;
@RequestMapping("chushihuanewstype")
public String chushihuanewstype(HttpServletRequest req){
String url="";
List<Source> findAllImg = sourceService.findAllImg();
if(findAllImg!=null)
req.getSession().setAttribute("slist", findAllImg);
req.getSession().setAttribute("size1", findAllImg.size());
if(req.getSession().getAttribute("loginUser")==null){
req.getSession().setAttribute("userid", 0);}else{
User u=(User)req.getSession().getAttribute("loginUser");
req.getSession().setAttribute("userid",u.getUid());
}
List<News_type> list=getnt.getnewstype();
req.getSession().setAttribute("newstypelist", list);
List<News> list1=getnews.findnewByhot(0);
List<News> list2=getnews.findnewByhot(0);
}
// 修改赞助信息
@RequestMapping("editSupport")
public String editUser(HttpServletRequest req){
String name=req.getParameter("editSupportname");
String money=req.getParameter("editMoney");
String id=req.getParameter("editSupportId");
String text=req.getParameter("editText");
System.out.println("==="+name);
System.out.println("==="+money);
System.out.println("==="+id);
System.out.println("==="+text);
Support support = supportService.findSupportById(Integer.parseInt(id));
support.setSname(name);
support.setSmoney(money);
support.setText(text);
supportService.updateSupport(support);
//managerService.deleteManager(Integer.parseInt(id));
return "redirect:SupportInfo";
}
// 查询所有赞助
@RequestMapping("getAllSupport")
public String getAllUser(Model model){
List<Support> manager = supportService.findAll();
model.addAttribute("managerList",manager);
return "houtai/support.jsp";
}
// 查询单个赞助
@RequestMapping("getSupport")
public String getUser(int mid,Model model){
model.addAttribute("user", supportService.findSupportById(mid));
return "editSupport";
}
*//**
*
*//*
@Controller
public class kaishi {
@Autowired
getNewtype getnt;
@Autowired
getNews getnews;
@RequestMapping("chushihuanewstype")
public String chushihuanewstype(HttpServletRequest req){
String url="";
List<News_type> list=getnt.getnewstype();
req.getSession().setAttribute("newstypelist", list);
List<News> list1=getnews.findnewByhot(0);
List<News> list2=getnews.findnewByhot(0);
for(int i=0;i<list2.size();i++){
if(list2.get(i).getNtext().length()>200){
list2.get(i).setNtext((String) list2.get(i).getNtext().subSequence(0,200));
}
}
req.getSession().setAttribute("newshotlist", list1);
req.getSession().setAttribute("newshotlist1", list2);
list1=getnews.findnewByhotType(0, 1);
req.getSession().setAttribute("newszhenzhihotlist", list1);
list1=getnews.findnewByhotType(0, 2);
req.getSession().setAttribute("newsjunshihotlist", list1);
list1=getnews.findnewByhotType(0, 3);
req.getSession().setAttribute("newstiyuhotlist", list1);
list1=getnews.findnewByhotType(0, 4);
req.getSession().setAttribute("newsyulehotlist", list1);
url="redirect:index.jsp";
return url;
}
}
*/
OutputStream out = response.getOutputStream();
ImageIO.write(image, /*"GIF"*/ "jpg" /* format desired */ , out /* target */ );
out.flush();
out.close();
}
}
@Controller
public class uploadfiles {
@Autowired
SourceService sourceService;
@RequestMapping("uploadfiles")
public String test1(HttpServletRequest request) throws Exception{
MultipartHttpServletRequest mrequest = (MultipartHttpServletRequest) request;
List<MultipartFile> files = mrequest.getFiles("duofile");//通过获取页面中文件域的name属性,得到对应的文件对象 ,装载成一个List集合
//调用自己写的文件上传工具类 FileUploadUtils 的upLoadFile方法实现多文件上传到服务器的某个路径下
// upLoadFile param1 request对象 ,为了获取服务url路径的某些信息
// param2 上传的多个文件对象
// param3 上传的路径
Map<String, UploadFile> upLoadFile = FileUploadUtils.upLoadFile(request,files , "newsimg");
System.out.println(upLoadFile);
for(Map.Entry<String, UploadFile> imgs :upLoadFile.entrySet()){
System.out.println(imgs.getKey());
System.out.println(imgs.getValue().getFileSize());
System.out.println(imgs.getValue().getFileType());
System.out.println(imgs.getValue().getNewFileName());
System.out.println(imgs.getValue().getNewFilePath());
System.out.println(imgs.getValue().getNewFileUrl());
String url=imgs.getValue().getNewFileUrl();
Source source=new Source();
source.setSrc(url.replace("newsimg","ssm_news_system/newsimg"));
@Controller
public class uploadfiles {
@Autowired
SourceService sourceService;
@RequestMapping("uploadfiles")
public String test1(HttpServletRequest request) throws Exception{
MultipartHttpServletRequest mrequest = (MultipartHttpServletRequest) request;
List<MultipartFile> files = mrequest.getFiles("duofile");//通过获取页面中文件域的name属性,得到对应的文件对象 ,装载成一个List集合
//调用自己写的文件上传工具类 FileUploadUtils 的upLoadFile方法实现多文件上传到服务器的某个路径下
// upLoadFile param1 request对象 ,为了获取服务url路径的某些信息
// param2 上传的多个文件对象
// param3 上传的路径
Map<String, UploadFile> upLoadFile = FileUploadUtils.upLoadFile(request,files , "newsimg");
System.out.println(upLoadFile);
for(Map.Entry<String, UploadFile> imgs :upLoadFile.entrySet()){
System.out.println(imgs.getKey());
System.out.println(imgs.getValue().getFileSize());
System.out.println(imgs.getValue().getFileType());
System.out.println(imgs.getValue().getNewFileName());
System.out.println(imgs.getValue().getNewFilePath());
System.out.println(imgs.getValue().getNewFileUrl());
String url=imgs.getValue().getNewFileUrl();
Source source=new Source();
source.setSrc(url.replace("newsimg","ssm_news_system/newsimg"));
source.setType(1);
source.setNid(Integer.parseInt(request.getParameter("nid")));
int i=sourceService.insert(source);
System.out.println("============"+i);
//request.setAttribute("url", url);
request.getSession().setAttribute("url", url);
System.out.println(imgs.getValue().getOriginalFileName());
}
return "redirect:houtai/file.jsp";
}
}
String pwd = req.getParameter("password");
Manager m = new Manager();
m.setMname(name);
m.setPwd(pwd);
loginManager = managerService.findManager(m);
if (loginManager == null) {
/* req.getSession().setAttribute("mesg", "用户名或密码错误!"); */
url = "redirect:houtai/admin_login.jsp?mesg=Name or Password Error!";
} else {
req.getSession().setAttribute("loginManager", loginManager);
url = "redirect:houtai/index.jsp";
}
return url;
}
@RequestMapping("loginout")
// 注销
public String loginout(HttpServletRequest req, HttpServletResponse response)
throws IOException {
req.getSession().invalidate();
return "redirect:index.jsp";
}
@RequestMapping("toHoutai")
// 转到后台
public String toHoutai(HttpServletRequest req) throws IOException {
req.getSession().invalidate();
return "redirect:houtai/admin_login.jsp";
}
@RequestMapping("modify")
public String modify(HttpServletRequest request,
HttpServletResponse response) throws IOException {
PrintWriter out = response.getWriter();
HttpSession session = request.getSession();
User luser = (User) session.getAttribute("loginUser");
Integer uid = luser.getUid();
if (uid != null) {
User userById = userService.findUserById(uid);
String name = request.getParameter("username");
String pwd = request.getParameter("password");
String newPwd = request.getParameter("confirm_password");
String phone = request.getParameter("phone_number");
phone = phone.substring(0, 10);
// 返回后台首页
@RequestMapping("home")
public String index() {
/*return "redirect:index.jsp";*/
return "chushihuanewstype";
}
}
public class FileUploadUtils {
// 这个文件上传类主要是配合SpringMVC框架的
// 这里主要是把文件上传到本地Tomcat服务器的webapp下面 ,并返回web的文件访问地址
/**
* 文件上传
*
* @param request
* HTTP请求
* @param files
* 上传的文件
* @param folder
* 要建立的文件夹的名字
* @return
*/
public static Map<String, UploadFile> upLoadFile(
HttpServletRequest request, List<MultipartFile> files, String folder) {
Map<String, UploadFile> map = new HashMap<String, UploadFile>();
if (files != null && files.size() > 0) {
// 1.获取绝对路径
// request.getSession().getServletContext().getRealPath("/")==>
// E:\apache-tomcate-7.0\webapps\项目名
// getParentFile() ==>E:\apache-tomcate-7.0\webapps
File root = new File(request.getSession().getServletContext()
.getRealPath("/"))/*.getParentFile()*/;
String type=request.getParameter("search-sort");
List<News> list ;
if(type.equals("0")){
list = getnews.listBysearchTitle_noPage(title);
}
else{
try {
int temp = Integer.parseInt(type);
list = getnews.findByTypeandTitle(temp, title);
} catch (Exception e) {
title = "的";
list = getnews.listBysearchTitle_noPage(title);
}
}
request.getSession().setAttribute("searchList", list);
return "houtai/design1.jsp";
}
@RequestMapping("moredel")
public String moredel(HttpServletRequest req){
String url="redirect:xinwenguanli";
List<News> list=getnews.selectNews();
for(int i=1;i<=list.size();i++){
int box=0;
if(req.getParameter("id"+i)!=null){
box=Integer.parseInt(req.getParameter("id"+i));}
if(box==1){
int nid=Integer.parseInt(req.getParameter("nid"+i));
List<regai> r=getr.findreviewBynid(nid);
if(r.size()!=0)
for(int j=0;j<r.size();j++){
getr.delreview(r.get(j).getRid());
}
int z=getnews.delnews(nid);
}
}
url="redirect:xinwenguanli";
return url;
}
}
PrintWriter out = response.getWriter();
HttpSession session = request.getSession();
User luser = (User) session.getAttribute("loginUser");
Integer uid = luser.getUid();
if (uid != null) {
User userById = userService.findUserById(uid);
String name = request.getParameter("username");
String pwd = request.getParameter("password");
String newPwd = request.getParameter("confirm_password");
String phone = request.getParameter("phone_number");
phone = phone.substring(0, 10);
System.out.println("-------" + phone + "-----------");
Integer tel = 0;
tel = (Integer) Integer.parseInt(phone);
String email = request.getParameter("email");
userService.update(name, pwd, tel, email, uid);
session.setAttribute("modifyUser", userById);
} else {
User nuser = (User) session.getAttribute("userByName");
Integer uid2 = nuser.getUid();
User userById2 = userService.findUserById(uid2);
String name = request.getParameter("username");
String pwd = request.getParameter("password");
String newPwd = request.getParameter("confirm_password");
String phone = request.getParameter("phone_number");
phone = phone.substring(0, 11);
int tel = 0;
if (phone != null & phone.equals("")) {
tel = Integer.parseInt(phone);
}
String email = request.getParameter("email");
userService.update(name, pwd, tel, email, uid2);
session.setAttribute("modifyUser", userById2);
}
return "redirect:login.jsp";
}
} catch (IllegalStateException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
return map;
}
/**
* 随机分配文件名
*
* @return 29e6c3676c23466c8735bcc4d157ee08
*/
private static String randomFileName() {
String name = UUID.randomUUID().toString();
name = name.replaceAll("-", "");
return name;
}
/**
* 产生日期的文件夹
*
* @return \2017\02\25\
*/
private static String dateFileDirectory() {
Calendar calendar = Calendar.getInstance();
int year = calendar.get(Calendar.YEAR);
int month = calendar.get(Calendar.MONTH);
int day = calendar.get(Calendar.DATE);
return File.separator + year + File.separator + (month+1) + File.separator
+ day + File.separator;
}
public static void main(String[] args) {
System.out.println(FileUploadUtils.randomFileName());
}
}
BufferedImage image = new BufferedImage(width,height,BufferedImage.TYPE_INT_RGB);
Graphics2D g = image.createGraphics();
g.setColor(Color.WHITE);
g.fillRect(0, 0, width, height);
g.setColor(Color.blue);
g.drawRect(0, 0, width, height);
Random random = new Random();
int segment = width/count;
for(int i=0;i<count;i++){
int red =random.nextInt(255)+1;
int blue = random.nextInt(255)+1;
int green = random.nextInt(255)+1;
Color color = new Color(red,blue,green);
g.setColor(color);
int size = random.nextInt(7)+30;
Font font = new Font("Default",Font.ITALIC,size);
g.setFont(font);
int index = random.nextInt(codes.length());
String s = codes.charAt(index)+"";
codeValues += s;
g.drawString(s, i*segment, height-4);
}
request.getSession().setAttribute("codeValues", codeValues);
// System.out.println(codeValues);
for(int i=0;i<5;i++){
int x=random.nextInt(width)+1;
int y=random.nextInt(height)+1;
g.drawRect(x, y, 1, 1);
}
g.dispose();
OutputStream out = response.getOutputStream();
ImageIO.write(image, /*"GIF"*/ "jpg" /* format desired */ , out /* target */ );
out.flush();
out.close();
}
}
Map<String, UploadFile> upLoadFile = FileUploadUtils.upLoadFile(request,files , "newsimg");
System.out.println(upLoadFile);
for(Map.Entry<String, UploadFile> imgs :upLoadFile.entrySet()){
System.out.println(imgs.getKey());
System.out.println(imgs.getValue().getFileSize());
System.out.println(imgs.getValue().getFileType());
System.out.println(imgs.getValue().getNewFileName());
System.out.println(imgs.getValue().getNewFilePath());
System.out.println(imgs.getValue().getNewFileUrl());
String url=imgs.getValue().getNewFileUrl();
Source source=new Source();
source.setSrc(url.replace("newsimg","ssm_news_system/newsimg"));
source.setType(1);
source.setNid(Integer.parseInt(request.getParameter("nid")));
int i=sourceService.insert(source);
System.out.println("============"+i);
//request.setAttribute("url", url);
request.getSession().setAttribute("url", url);
System.out.println(imgs.getValue().getOriginalFileName());
}
return "redirect:houtai/file.jsp";
}
}
@Controller
/**
*