当前位置: 首页 > news >正文

想自己建一个公司网站怎么做免费招聘信息发布平台

想自己建一个公司网站怎么做,免费招聘信息发布平台,商务网页设计与制作实训报告,寿光网站制作来源场景: RequestMapping(“/captcha”)接口设置了SESSION_KEY,也能获取到,但是到了PostMapping(“/login”)接口就是空的,由于跨域导致的两个session_id不是同一个 /*** 系统用户 前端控制器*/ Controller CrossOrigin(origins…

来源场景:
@RequestMapping(“/captcha”)接口设置了SESSION_KEY,也能获取到,但是到了@PostMapping(“/login”)接口就是空的,由于跨域导致的两个session_id不是同一个
在这里插入图片描述


/*** 系统用户 前端控制器*/
@Controller
@CrossOrigin(origins = "*",maxAge = 3600)// 前端请求发生跨域错误,加入这段处理
@RequestMapping("/sys")
public class LoginController {private static final String SESSION_KEY = "captcha";@Autowiredprivate IAdminService adminService;/*** 验证码生成* @param request 请求报文* @param response 响应报文* */@RequestMapping("/captcha")public void generate(HttpServletRequest request, HttpServletResponse response) throws Exception {// 英文与数字验证码SpecCaptcha captcha = new SpecCaptcha();captcha.setLen(4);// 验证字符数// 结果String result = captcha.text();// 将结果存储到session中(由于有些验证码没存储结果,则需要自己存储,记得要转小写,可参考自带校验方法.ver)request.getSession().setAttribute(SESSION_KEY, result.toLowerCase());System.out.println("Session ID in /captcha: " + request.getSession().getId());System.out.println(request.getSession().getAttribute(SESSION_KEY));// 响应到前端captcha.out(response.getOutputStream());}/*** 登录* @return*/@PostMapping("/login")@ResponseBodypublic R login(HttpServletRequest request,@RequestBody Admin admin){
// 打印调试信息System.out.println("Session ID in /login: " + request.getSession().getId());System.out.println("SESSION_KEY retrieved in /login: " + request.getSession().getAttribute(SESSION_KEY));if(StringUtil.isEmpty(admin.getUserName())){return R.error("用户名不能为空");}if(StringUtil.isEmpty(admin.getPassword())){return R.error("密码不能为空");}String code = (String) request.getSession().getAttribute(SESSION_KEY);System.out.println(code);System.out.println(admin.getCaptcha());if (!CaptchaUtil.ver(admin.getCaptcha(), request)) {return R.error("验证码错误");}//开始数据库校验Admin resultAdmin = adminService.getOne(new QueryWrapper<Admin>().eq("userName",admin.getUserName()));if (resultAdmin==null){return R.error("用户名不存在!");}if (!resultAdmin.getPassword().trim().equals(admin.getPassword())){return R.error("用户名或密码错误!");}
//        String token = JwtUtils.createJWT("-1", "admin", SystemConstant.JWT_TTL);
//        Map<String,Object> resultMap=new HashMap<>();
//        resultMap.put("token",token);return R.ok();}}

后端跨域配置

/*** web项目配置类*/
@Configuration
public class WebAppConfigurer implements WebMvcConfigurer {@Overridepublic void addCorsMappings(CorsRegistry registry) {registry.addMapping("/**").allowedOrigins("*").allowCredentials(true).allowedMethods("GET", "HEAD", "POST", "PUT", "DELETE","OPTIONS").maxAge(3600);}}

前端使用axios发请求,需要添加
withCredentials: ‘include’, // 确保请求携带Cookie

下面是封装过的axios.js文件

// 引入axios
import axios from 'axios';
let baseUrl="http://localhost:8082/"
let imageUrl = "http://localhost:1111"
// 创建axios实例
const httpService = axios.create({// url前缀-'http:xxx.xxx'// baseURL: process.env.BASE_API, // 需自定义baseURL:baseUrl,withCredentials: 'include', // 确保请求携带Cookie// 请求超时时间//timeout: 3000 // 需自定义timeout: 10000
});//添加请求和响应拦截器
// 添加请求拦截器
httpService.interceptors.request.use(function (config) {// 在发送请求之前做些什么// config.headers.token=window.sessionStorage.getItem('token') || '';return config;
}, function (error) {// 对请求错误做些什么return Promise.reject(error);
});// 添加响应拦截器
httpService.interceptors.response.use(function (response) {// 对响应数据做点什么return response;
}, function (error) {// 对响应错误做点什么return Promise.reject(error);
});/*网络请求部分*//**  get请求*  url:请求地址*  params:参数* */
export function get(url, params = {}) {return new Promise((resolve, reject) => {httpService({url: url,method: 'get',params: params}).then(response => {resolve(response);}).catch(error => {reject(error);});});
}/**  post请求*  url:请求地址*  params:参数* */
export function post(url, params = {}) {return new Promise((resolve, reject) => {httpService({url: url,method: 'post',data: params}).then(response => {console.log(response)resolve(response);}).catch(error => {console.log(error)reject(error);});});
}/**  文件上传*  url:请求地址*  params:参数* */
export function fileUpload(url, params = {}) {return new Promise((resolve, reject) => {httpService({url: url,method: 'post',data: params,headers: { 'Content-Type': 'multipart/form-data' }}).then(response => {resolve(response);}).catch(error => {reject(error);});});
}
export function getServerUrl(){return baseUrl;
}
export function getImageUrl(){return imageUrl;
}
export default {get,post,fileUpload
}
http://www.ritt.cn/news/20921.html

相关文章:

  • 网站seo推广营销市场营销网站
  • 简单响应式网站设计代码百度经验app
  • 环球资源网站网址人民网 疫情
  • 上海网站设计制作公司思亿欧seo靠谱吗
  • 创新的专业网站建设seo人人网
  • 广州网站制作在线百度搜索技巧
  • 做58类网站需要多少钱电商运营公司简介
  • 我想阻止一个网站要怎么做百度联盟注册
  • 有没有哪个做美食的网站电商网课
  • 上海网站推广方法设计师必备的6个网站
  • 云南建投第七建设有限公司网站xp优化大师
  • 网站建设经典语录进入百度搜索网站
  • 遵义疫情最新消息搜索引擎优化哪些方面
  • 邮轮哪个网站是可以做特价胃肠的百度seo优化技巧
  • wordpress 淘宝客网站模板网站建设公司排行榜
  • 云服务器做网站要备案吗做网站公司哪家正规
  • 做网站需要了解什么东西千锋教育培训多少钱
  • wordpress hyper什么叫做seo
  • 怎么做网站弹幕网络营销企业是什么
  • 为什么网站的备案号在备案网站查询不到推广策略怎么写
  • 做网站都需要什么东西青岛百度seo
  • 域名拍卖网站域名免费注册0元注册
  • 公司部门岗位职责重庆seo排名公司
  • 知道ip域名如何进入网站搜索引擎关键词快速优化
  • 随州网络优化网站建设公司广州网络推广公司有哪些
  • 做高端网站建设新闻网最新消息
  • 那个网站可以做双色球号码对比的百度联盟怎么加入
  • 北京网站建设华网天下科技军事新闻 今日关注
  • 有没有在家做的手工活网站seo优化师培训
  • 广东手机网站建设费用百度搜索排名规则