【发布时间】:2020-12-29 14:29:49
【问题描述】:
我正在尝试加载这个特定的 JSP /url。但是当它执行时出现以下错误。
找不到该本地主机页面没有找到该网址的网页:http://localhost:8181/home HTTP 错误 404
这是我的安全配置
.permitAll()
.and().formLogin()
// to show the page where we enter login credentials
.loginPage("/login")
// to process authentication: /login handler method implemented by Spring Security
.loginProcessingUrl("/mylogin")
// where to go after successful login
.defaultSuccessUrl("/success", true)
// to show an error page if the authentication failed
.failureUrl("/login?Error=True")
// everyone can access these requests
.permitAll()
因此,当它成功时,它会转到 URL“/success”。这是下面的RequestMapping
@RequestMapping(value = "/success", method = RequestMethod.GET)
public String successLogin(Principal p) {
System.out.println("Shalom56765");
Volunteer user = volRepo.findByEmail(p.getName());
if (user.getKind().equals(UserKind.Admin)) {
return "/admin";
}
if (user.getKind().equals(UserKind.user)) {
System.out.println("user is a user");
return "redirect:/home";
}
return "login";
}}
还有“/home”的映射
@RequestMapping("/home")
public String login(Model model, @RequestParam String email) {
model.addAttribute("volunteer", vrRepo.findAll());
model.addAttribute("user_email", email);
return "Homepage";
}
但是我得到的错误是它找不到“/home”我要做的是任何人看到一个我看不到的简单错误。多谢你们。杰夫
主控制器
@Controller
public class MainController {
@Autowired
private VolunteerRepository volrepo;
@RequestMapping("/")
public String start() {
return "start";
}
@RequestMapping("/sign_up")
public String signup() {
return "sign_up";
}
@RequestMapping("/admin")
public String dashboard( Model model, BindingResult result) {
System.out.println("IM GETTING CLICKED");
if(result.hasErrors()) {
}
else {
model.addAttribute("vols", volrepo.findAll());
return "admin";
}
return "/";}
}
身份验证控制器
@Controller
public class AuthenticationController {
@Autowired
private VolunteerRepository volRepo;
@Autowired
private AdminRepository adRepo;
@RequestMapping("/login")
public String login() {
return "login";
}
@RequestMapping(value = "/success", method = RequestMethod.GET)
public String successLogin(Principal p) {
Volunteer user = volRepo.findByEmail(p.getName());
Admin user2 = adRepo.findOne(p.getName());
System.out.println(user2.getUsername());
if (user2.getKind().equals(UserKind.Admin)) {
return "/admin";
}
if (user.getKind().equals(UserKind.user)) {
System.out.println("user is a user");
return "redirect:/home";
}
return "login";
}}
志愿者管理员
@Controller
public class VolunterController {
@Autowired
private VolunteerRepository vrRepo;
@Autowired
private PasswordEncoder pe;
ArrayList<String> emails = new ArrayList<String>();
//Add new results
@RequestMapping(value = "/newUser",method = {RequestMethod.POST , RequestMethod.GET})
public String newResults(@Valid @ModelAttribute Volunteer vol, BindingResult result, Model model) {
if (result.hasErrors()) {
return "sign_up";
}
else {
String pass = vol.getPassword();
String crypt = pe.encode(pass);
vol.setPassword(crypt);
vol.setKind(UserKind.user);
vrRepo.save(vol);
return "Submit";
}}
@RequestMapping("/home")
public String login(Model model, @RequestParam String email) {
//model.addAttribute("volunteer", vrRepo.findAll());
// model.addAttribute("user_email", email);
return "Homepage";
}
//Add vaccine info
@RequestMapping(value = "/newInfo", method=RequestMethod.POST)
public String addVac(@Valid @ModelAttribute Volunteer vol, BindingResult result, Model model) {
//add extra fields
float dose = vol.getDose();
String group = vol.getVac_group();
String email = vol.getEmail();
System.out.println(dose +" " + group + " " + email);
List<Volunteer> vols = (List<Volunteer>) vrRepo.findAll();
for(int i=0;i<vols.size();i++){
String dbEmail = vols.get(i).getEmail();
System.out.println("Checking if Email " + email + " equals " + dbEmail);
if(dbEmail.equals(email)) {
System.out.println("MATCH");
Volunteer volUP = vrRepo.findByEmail(dbEmail);
volUP.setDose(dose);
volUP.setVac_group(group);
vrRepo.save(volUP);
System.out.println("User details are updated!");
break;
}
}
return "start";
}
//Add Positive Case
@RequestMapping(value = "/positive/{email}", method=RequestMethod.POST)
public String addPos(@ModelAttribute Volunteer vol, @PathVariable String email) {
System.out.println(email);
List<Volunteer> vols = (List<Volunteer>) vrRepo.findAll();
System.out.println(vols.size());
for(int i=0;i<vols.size();i++){
String dbEmail = vols.get(i).getEmail();
System.out.println("Checking if Email " + email + " equals " + dbEmail);
// if(dbEmail.equals(email)) {
System.out.println("MATCH");
Volunteer volUP = vrRepo.findByEmail(dbEmail);
volUP.setInfected("Positive");
vrRepo.save(volUP);
System.out.println("User details are updated!");
break;
// }
}
return "/";
}
@GetMapping(value= "/vaccine/all_result")
public String all(Model model) {
model.addAttribute(vrRepo.findAll());
return "all_vaccine";
}
@RequestMapping(value = "/sucess", method = RequestMethod.GET)
public String successLogin(Principal p) {
Volunteer user = vrRepo.findByEmail(p.getName());
if (user.getKind().equals(UserKind.user)) {
return "redirect:/home";
}
else
return "redirect:/userlogin";
}
@RequestMapping(value = "/login?error=true", method = RequestMethod.GET)
public String invalidLogin(Model model) {
model.addAttribute("error", true);
return "userlogin";
}
}
【问题讨论】:
-
确保是您的应用程序在端口 8181 上运行,如果碰巧有另一个应用程序在端口 8181 上运行并且您在不同的端口上运行,您可能会得到 404
-
如果您希望我们帮助您找到错误,发布整个控制器可能会有所帮助
-
我将添加整个控制器代码,它在端口 8181 上运行