Spring Boot + Java爬虫 + 部署到Linux(六、后端Controller实现、下载文件以及登录验证拦截器)

本文介绍了如何在Spring Boot项目中创建Controller处理前端请求,展示了一个简单的index Controller示例。同时,详细讲解了如何实现文件下载功能,并通过登录验证拦截器进行权限控制。拦截器基于AOP,预处理方法preHandle用于验证Cookie,防止未登录用户访问特定路由。文章还提到了配置拦截器的两种方式,并强调了避免死循环的注意事项。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Controller就是控制层,就是mvc模式里面的c。控制前端页面的显示,以及向前端传递一些数据。这个就随便设置吧,没什么通用性。由于这个项目只有一个业务,所以主要界面也就一个,叫index。对应的Controller如下:

import java.net.InetAddress;
import java.net.UnknownHostException;

import javax.servlet.http.Cookie;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;


import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.servlet.ModelAndView;



@Controller
public class IndexController {
	
	private static final String MEMBER = "ipb_member_id";
	private static final String PASS = "ipb_pass_hash";
	@RequestMapping("/index")
	public ModelAndView showIndexPage(HttpServletRequest req){
		
		ModelAndView mav = new ModelAndView("index");
		Cookie mCookie = CookieUtil.get(req, MEMBER);
		Cookie pCookie = CookieUtil.get(req, PASS);
		String cookie1 = mCookie.getValue();
		String cookie2 = pCookie.getValue();
		String localhost = null;
		try {
			InetAddress myIp = InetAddress.getLocalHost();
			localhost = myIp.getHostAddress();  //获得你机器的ip,如果是169.254..,就修改host文件,加上一行
                 //“你的IP    myIp.getHostName()返回的你的名字”,如果只自己用,直接就直接设127.0.0.1
		} catch (UnknownHostException e) {
			e.printStackTrace();
		}
		if(localhost==null){
			localhost = "127.0.0.1";
		}
		mav.getModel().put("cookie", "ipb_member_id:"+cookie1+";ipb_pass_hash:"+cookie2 ); //向前端传cookie数据。。。
		mav.getModel().put("localhost", localhost);//传服务器ip地址数据。。。。
		return mav;
	}
	@RequestMapping("/")
	public String jump(){
		return "redirect:index";  // 直接重定向到/index
	}
	@RequestMapping("/login")
	public String login(){
		return "login"; //像这种直接返回字符串的,其实应
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值