最近再学校自学ssm框架,在网上找了一个源码练手,但是遇到404页面找不到的问题,试过很多方法,并没有用,先给大家看下问题
<form method="post" name="login" id="login" action=""
onsubmit="return submitHandler()">
上面是表单的信息,其他的不重要,所以没贴
<input class="btn btn-primary btn-wide login-btn" value="LOGIN"
type="submit" />
上面是按钮的信息
下面给大家看看登录逻辑
<script>
var useridEle = document.getElementById("userid");
var passwordEle = document.getElementById("password");
var roleRadio = document.getElementsByName("optionsRadios1");
/*
* 点击登录执行的逻辑
*/
function submitHandler() {
if (!vali()) {
return false;
}
var role = 'student';
for (var i = 0; i < roleRadio.length; i++) {
if (roleRadio[i].checked) {
role = roleRadio[i].value;
}
}
var action = null;
if (role == 'student') {
action = "/StudentSC/LoginHandler/studentlogin";
useridEle.name = "sid";
passwordEle.name = "spassword";
} else if (role == 'teacher') {
action = "/StudentSC/LoginHandler/teacherlogin";
useridEle.name = "tid";
passwordEle.name = "tpassword";
} else {
action = "/StudentSC/LoginHandler/adminlogin";
useridEle.name = "aname";
passwordEle.name = "apassword";
}
document.getElementById("login").action = action;
return true;
}
function vali() {
var valiObjs = createInputMsgObj([ 'userid', 'password' ])
for (var i = 0; i < valiObjs.length; i++) {
console.log(valiObjs[i].el.val())
if (valiObjs[i].el.val() == null || valiObjs[i].el.val() == '') {
valiObjs[i].el.css({
"border-color" : "red"
})
console.log(valiObjs[i].el)
var alertEl = $("<div style=\"position:fixed;top:1rem;right:1rem;\" class=\"alert alert-warning\">"
+ valiObjs[i].msg + "没有填写!" + "</h5></div>")
$("body").append(alertEl);
setTimeout(function() {
alertEl.remove();
}, 1000)
return false;
}
}
return true;
}
function createInputMsgObj(ids) {
var objs = [];
for (var i = 0; i < ids.length; i++) {
var obj = {
el : $("#" + ids[i]),
msg : $("#" + ids[i]).attr('m')
}
objs.push(obj);
}
return objs;
}
</script>
再放一点后端代码和配置文件的
@Controller
@RequestMapping("/LoginHandler")
public class LoginHandler{
@Autowired
AdminService adminService;
@Autowired
StudentService studentService;
@Autowired
TeacherService teacherService;
//管理员登录
@RequestMapping(value = "/adminlogin")
public String adminlogin(@RequestParam("aname") String aname, @RequestParam("apassword") String apassword,
Model model,HttpSession httpSession) {
String n = adminService.queryByNamePwd(aname, apassword);
if (n != null && !"".equals(n)) {
httpSession.setAttribute("aname", aname);
return "admin/adminFace";
} else {
return "login";
}
}
再贴一点可能会出错的xml配置文件等信息
<servlet-mapping>
<servlet-name>dispatcherServlet</servlet-name>
<url-pattern>/</url-pattern>
</servlet-mapping>
这是web.xml拦截器的配置
<!--启动注解驱动-->
<mvc:annotation-driven/>
<!--扫描业务代码(web层)-->
<context:component-scan base-package="com.oc.controller"/>
<!--视图解析器-->
<bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
<property name="prefix" value="/"/>
<property name="suffix" value=".jsp"/>
</bean>
<!--开放静态资源访问权限-->
<mvc:default-servlet-handler/>
这是springmvc的配置
我也试过ajax方法作为提交数据的方法,但是都无法解决,请各位指点迷津
这个地址对了吗,tomcat是什么版本的。
更改tomcat部署的根路径映射为/StudentSC
。
因为不知道你用的哪个开发软件,也不知道你用的哪种运行方式,只能提供上面的建议了。