基于javaweb+mysql的ssm新闻管理系统(java+ssm+js+jsp+mysql)

基于javaweb+mysql的ssm新闻管理系统(java+ssm+js+jsp+mysql)

运行环境

Java≥8、MySQL≥5.7、Tomcat≥8

开发工具

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

适用

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

功能说明

基于javaweb+mysql的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版本;

技术栈

  1. 后端:Spring+SpringMVC+Mybatis 2. 前端:HTML+CSS+JavaScript+jsp

使用说明

  1. 使用Navicat或者其它工具,在mysql中创建对应名称的数据库,并导入项目的sql文件; 2. 使用IDEA/Eclipse/MyEclipse导入项目,Eclipse/MyEclipse导入时,若为maven项目请选择maven;若为maven项目,导入成功后请执行maven clean;maven install命令,然后运行; 3. 将项目中application.yml配置文件中的数据库配置改为自己的配置; 4. 运行项目,输入localhost:8080/ 登录

/**
 * 
 *	实现对管理员的管理
 */
@Controller
@RequestMapping("manager")
public class ManagerHandler{
	
	 @Autowired
	    ManagerService managerService;

	     // 添加管理员并重定向  
	    @RequestMapping("addManager") 
	    public String addManager(HttpServletRequest req){
	    	String  name=req.getParameter("managerName");
	    	String pwd=req.getParameter("managerPassword");
	    	Manager manager=new Manager();
	    	manager.setMname(name);
	    	manager.setPwd(pwd);
	        if(manager != null){
	        	managerService.saveManager(manager);
	        }
	        return "redirect:ManagerInfo";
	    }

	     
	    
	     // 修改管理员信息
	    @RequestMapping("editManager")  
	    public String editUser(HttpServletRequest req){
	           String id=req.getParameter("editManagerid");
	           String pwd=req.getParameter("editPassword");
	          //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";*/
	    }
	    
		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";
		return url;
	}
	
	//分类关键字查询
	@RequestMapping("searchNews")
	public String searchNews(HttpServletRequest request) throws UnsupportedEncodingException{
		

/**
 * 
 * 
 */
@Controller
public class pageHandler {
	@Autowired
	getNews getnews; // 获取到一个news的service
	@Resource
	NewsMapper newsMapper;

	@RequestMapping("queryAllItems")
	//该方法实现了新闻分类标题概览的分类显示功能
	public ModelAndView Limitlist(HttpServletRequest request) {
		String ntId=request.getParameter("ntid");
		System.out.println("===NTID====="+ntId);
		//request.getSession().setAttribute("ntid", Integer.parseInt(ntId));
		request.getSession().setAttribute("ntid", Integer.parseInt(ntId));
		int pageNum = 1;
		if (request.getParameter("pageNum") == null
				|| "".equals(request.getParameter("page"))) {
			pageNum = 1;
		} else {
			pageNum = Integer.parseInt(request.getParameter("pageNum"));
		}
		ModelAndView modelAndView = new ModelAndView();
		
		Integer ntid=(Integer)request.getAttribute("ntid");
		ntname=new String(ntname);
		News_type r=new News_type();
		r.setNtname(ntname);
		int i= getnt.insertnt(r);
		url="tpchshihua?flag=1";
		return url;
	}
	
	//分类关键字查询
	@RequestMapping("searchNews")
	public String searchNews(HttpServletRequest request) throws UnsupportedEncodingException{
		
		String title=request.getParameter("title");
		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);
			}
		req.setAttribute("ntid", ntid);
		
		 List<News> listByNtid = newsMapper.listByNtid(Integer.parseInt(ntid.replace("'", "")));// 首先进行条件查询,返回一个news的list
		// 将用户信息放入PageInfo对象里
		PageInfo page = new PageInfo(listByNtid, 5);
		model.addAttribute("pageInfo", page);
		return "queryAllItems1.jsp";
	}
	

	// 返回后台首页
	@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
	 *            要建立的文件夹的名字
	    
	     // 修改管理员信息
	    @RequestMapping("editManager")  
	    public String editUser(HttpServletRequest req){
	           String id=req.getParameter("editManagerid");
	           String pwd=req.getParameter("editPassword");
	          String name=req.getParameter("editManagername");
	          Manager manager = managerService.findUserById(Integer.parseInt(id));
	       
	          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";
/**
 * 
 */

@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);
		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);
		for(int i=0;i<list1.size()/2;i++){
			News n=new News();
			n=list1.get(i);
			list1.set(i, list1.get(list1.size()-i-1));
}

/**
 * 
 *	实现对管理员的管理
 */
@Controller
@RequestMapping("manager")
public class ManagerHandler{
	
	 @Autowired
	    ManagerService managerService;

	     // 添加管理员并重定向  
	    @RequestMapping("addManager") 
	    public String addManager(HttpServletRequest req){
	    	String  name=req.getParameter("managerName");
	    	String pwd=req.getParameter("managerPassword");
	    	Manager manager=new Manager();
	    	manager.setMname(name);
	    	manager.setPwd(pwd);
	        if(manager != null){
	        	managerService.saveManager(manager);
	        }
	        return "redirect:ManagerInfo";
	    }

	     
	    
	     // 修改管理员信息
	    @RequestMapping("editManager")  
/**
 * 
 *实现对赞助的管理
 */
@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);
	    	support.setText(text);
	        if(support != null){
	        	supportService.savaSupport(support);
	        }
	        return "redirect:SupportInfo";
	    }

	     
	    
	     // 修改赞助信息
	    @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);
		author=new String(author);
		int ntid=Integer.parseInt(req.getParameter("type"));
		News n=new News();
		n.setAuthor(author);
		n.setNtext(ntext);
		n.setNtid(ntid);
		n.setIsreview(isreview);
		n.setTitle(title);
		n.setHot(hot);
		n.setNtime(new java.sql.Date(new java.util.Date().getTime()));
		int x=getnews.insert(n);
		url="redirect:xinwenguanli";
		return url;
	}
	@RequestMapping("delnews")
	public String delnews(HttpServletRequest req){
	String url="";
	int nid=Integer.parseInt(req.getParameter("nid"));
	List<regai> r=getr.findreviewBynid(nid);
	if(r.size()!=0)
	for(int i=0;i<r.size();i++){
		getr.delreview(r.get(i).getRid());
	}
	int i=getnews.delnews(nid);
	url="redirect:xinwenguanli";
	return url;
	}
	@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);

/**
 * 
 *实现对赞助的管理
 */
@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);
 *后台新闻管理和分类管理
 */
@Controller
public class kaihoutai {
	@Autowired
	getNewtype getnt;
	@Autowired
	getNews getnews;
	@Autowired
	getReview getr;
	
	NewsMapper newsMapper;
	@RequestMapping("xinwenguanli")

	public String xinwenguanli(HttpServletRequest req){
		String rul="";
		List<News> list=getnews.selectNews();
		req.getSession().setAttribute("newslist", list);
		List<News_type> list1=getnt.getnewstype();
		List<News_type> list2=getnt.getnewstype();
		req.getSession().setAttribute("newstypelist1", list1);
		req.getSession().setAttribute("newstypelist2", list2);
		String flag = req.getParameter("flag");
		if(flag==null)
		rul="redirect:houtai/design.jsp";
		else rul="redirect:design.jsp";
		return rul;
	}
	@RequestMapping("gainews")
	public String gainews(HttpServletRequest req){
		String rul="";
		List<News_type> list1=getnt.getnewstype();
		req.getSession().setAttribute("newstypelist1", list1);
		int nid=Integer.parseInt(req.getParameter("flag"));
		News n=getnews.findnewsByID(nid);
		req.getSession().setAttribute("gainews", n);
		if(n.getIsreview()==1){
		List<regai> list=getr.findreviewBynid(nid);
		req.getSession().setAttribute("pinglun", list);}
		rul="redirect:houtai/gaixinwen.jsp";
		return rul;
	}
	@RequestMapping("delre")
	public String delre(HttpServletRequest req){
		String url="";
		int rid=Integer.parseInt(req.getParameter("rid"));
		int i=getr.delreview(rid);
		url="gainews?flag="+flag;
		return url;
	}
	@RequestMapping("yeswes")
	public String yeswes(HttpServletRequest req){
		String rul="";
		List<News_type> list1=getnt.getnewstype();
		req.getSession().setAttribute("newstypelist1", list1);
		int nid=Integer.parseInt(req.getParameter("nid"));
		String title=req.getParameter("title");
		String ntext=req.getParameter("content");
		int hot;
		if(req.getParameter("hot")!=null)
		hot=Integer.parseInt(req.getParameter("hot"));
		else hot=1;
		int isreview;
		if(req.getParameter("isreview")!=null){
			isreview=Integer.parseInt(req.getParameter("isreview"));}
		else isreview=0;
		String author=req.getParameter("author");
		int ntid=Integer.parseInt(req.getParameter("typeid"));
		News n=new News();
		n.setNid(nid);
		n.setAuthor(author);
		n.setNtext(ntext);
		n.setNtid(ntid);
		n.setIsreview(isreview);
		n.setTitle(title);
		n.setHot(hot);
		n.setNtime(new java.sql.Date(new java.util.Date().getTime()));
		int x= getnews.gainews(n);
		if(x>0){
				req.getSession().setAttribute("sussion", "yes");
		}else{req.getSession().setAttribute("sussion", "no");}
		rul="redirect:houtai/design.jsp";
		return rul;
	}
	@RequestMapping("jia")
	public String jia(HttpServletRequest req){
		List<News_type> list1=getnt.getnewstype();
		req.getSession().setAttribute("newstypelist1", list1);
		return "redirect:insert.jsp";
	}
	@RequestMapping("insert")
	public String insert(HttpServletRequest req) throws UnsupportedEncodingException{
		String url="";
	    @RequestMapping("index")
	    public String index(){
	        return "houtai/index.jsp";
	    }
	    
	    //二级密码验证
	    @RequestMapping("check")
	    public String check(HttpServletRequest req){
	    	String password=req.getParameter("managerPassword");
	    	if("123456".equals(password)){
	    		 return "manager/ManagerInfo";
	    	}
	    	
	    	else {
	    		return "houtai/index.jsp";
	    				
	    	}
	    }
}

/**
 * 验证码
 */
public class AuthImage extends HttpServlet {

		u.setTel(Integer.parseInt(phone_number));
		u.setEmail(email);
		int i = userService.addUser(u);
		String code = req.getParameter("code");
		if (code.length() != 4) {
			req.getSession().setAttribute("mesg1", "验证码错误!");
			url = "redirect:register.jsp";
		} else {
			if (i > 0) {
				url = "redirect:login.jsp";
			} else
				url = "redirect:register.jsp";
		}
		return url;

	}

	@RequestMapping("login")
	// 用户登录
	public String login(HttpServletRequest req, HttpServletResponse response)
			throws IOException {
		req.setCharacterEncoding("utf-8");
		System.out.println("=========");
		String url = "";
		String u_name = req.getParameter("username");
		String pwd = req.getParameter("password");
		User u = new User();
		u.setUname(u_name);
		u.setPwd(pwd);
		System.out.println(u.toString());
		loginUser = userService.findUser(u);
		if (loginUser == null) {
			req.getSession().setAttribute("mesg", "用户名或密码错误!");
			url = "redirect:login.jsp";
		} else {
			req.getSession().setAttribute("loginUser", loginUser);
			url = "index.jsp";
		}
		return url;
	}

	@RequestMapping("Managerlogin")
	// 管理员登录
	public String Managerlogin(HttpServletRequest req,
			HttpServletResponse response) throws IOException {
		req.setCharacterEncoding("utf-8");
		String url = "";

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()*/;
			// 2.定义图片保存在服务器的那个位置
			// ==>E:\apache-tomcate-7.0\webapps\floder(你指定的文件夹名字)
			File loaclFilePath = new File(root, folder);
			// 3.通过http协议访问的路径 http://localhost:8080/floder(你指定的文件夹名字)
			String webFileUrl = request.getScheme() + "://"
					+ request.getServerName() + ":" + request.getServerPort()
					+ "/" + folder;
			try {
				for (MultipartFile file : files) {
					// 文件的原始文件名
					String originalFileName = file.getOriginalFilename();
					if (file.isEmpty()) {
						continue;
					}
					// 随机分配一个新的文件名字给上传的文件
					// 29e6c3676c23466c8735bcc4d157ee08.xxx
					String newFileName = randomFileName()
							+ originalFileName.substring(originalFileName
									.lastIndexOf("."));
					// E:\apache-tomcate-7.0\webapps\floder(你指定的文件夹名字)\2017\02\25\
					String dir = loaclFilePath.getAbsolutePath()

请添加图片描述
请添加图片描述
请添加图片描述
请添加图片描述
请添加图片描述
请添加图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值