我现在在用struts和hibernate做一个登录
login.jsp源码如下:
<%@ page language="java" contentType="text/html; charset=gb2312"%>
<%@ taglib uri="http://struts.apache.org/tags-bean" prefix="bean"%>
<%@ taglib uri="http://struts.apache.org/tags-html" prefix="html"%>
<%@ taglib uri="http://struts.apache.org/tags-tiles" prefix="titles"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html:html lang="true">
<head>
<html:base />
<title>login</title>
<style type="text/css">
<!--
.style1 {
color: #0000FF;
font-weight: bold;
font-size: xx-large;
}
.style2
(
color
:
#FF0000
}
-->
</style>
</head>
<body bgcolor="#c0c0c0">
<html:form action="/login" method="post">
<table width="100%" border="0" align="center" bgcolor="#c0c0c0">
<tr align="center">
<td>
<p class="style1">
学生课程及成绩管理系统
</p>
</td>
</tr>
<tr>
<td align="center">
<span class="style2"><html:errors /> </span> </td> </tr>
<tr>
<td align="center">
<table border="1">
<tr>
<td align="center">
用户类型:
</td>
<td>
<html:select property="sort" multiple="true" size="1" value="1">
<html:option key="a" value="1">学生</html:option>
<html:option key="b" value="2">教师</html:option>
<html:option key="c" value="3">管理员</html:option>
</html:select>
</td>
</tr> <tr>
<td width="22%" align="center">
用&nbsp;户&nbsp;名:
</td>
<td width="74%">
<html:text property="username"></html:text>
<html:errors property="username" />
</td>
</tr>
<tr>
<td align="center">
密&nbsp;&nbsp;&nbsp;&nbsp;码:
</td>
<td>
<html:password property="password"></html:password>
<html:errors property="password" />
</td>
</tr>
<tr>
<td align="center">
&nbsp;
</td>
<td>
<html:submit value="登录"></html:submit>
</td> </tr>
</table>
</td>
</tr>
</table>
</html:form>
</body>
</html:html>
LoginForm.java如下:
package com.stuman.web.struts.form;
public class LoginForm extends ActionForm { private static final long serialVersionUID = 1L; private String password; private String sort; private String username;
public ActionErrors validate(ActionMapping mapping,
HttpServletRequest request) { return null;
} public void reset(ActionMapping mapping, HttpServletRequest request) { } public String getPassword() {
return password;
} public void setPassword(String password) {
this.password = password;
} public String getSort() {
return sort;
} public void setSort(String sort) {
this.sort = sort;
} public String getUsername() {
return username;
} public void setUsername(String username) {
this.username = username;
}}
LoginAction.java如下:
package com.stuman.web.struts.action;public class LoginAction extends Action {
public ActionForward execute(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response)
throws UnsupportedEncodingException { HttpSession session = request.getSession();
Session s = HibernateUtil.currentSession();
LoginForm loginForm = (LoginForm) form; String sort = loginForm.getSort();
String username = loginForm.getUsername();
String password = loginForm.getPassword();
int loginSort = Integer.parseInt(sort); String[] userlist = new String[2];
userlist[0] = username;
userlist[1] = password; try {
HibernateUtil.beginTransaction();
String str = new String();
switch (loginSort) {
case 1:
str = " from Student as stu where stu.name=:stuName and stu.password=:stuPassword";
Query query = s.createQuery(str);
System.out.println(username + "  " + password);
query.setString("stuName", username);
query.setString("stuPassword", password);
if (query.list().size() > 0) {
session.setAttribute("stuid", ((Student) query.list().get(0)).getId());
s.close();
return mapping.findForward("studentLoginSuccess");
} else
break;
case 2:
str = " from Teacher tea where tea.name = '" + username
+ "' and tea.password ='" + password + "'";
if (s.createQuery(str).list().size() > 0) {
session.setAttribute("teaid", ((Teacher) s.createQuery(str)
.list().get(0)).getId());
s.close();
return mapping.findForward("teacherLoginSuccess");
} else
break;
case 3:
str = " from Admin admin where admin.name = '" + username
+ "' and admin.password ='" + password + "'";
System.out.println(username + "  " + password);
if (s.createQuery(str).list().size() > 0) {
session.setAttribute("id", ((Admin) s.createQuery(str)
.list().get(0)).getId());
s.close();
return mapping.findForward("adminLoginSuccess");
} else
break;
default:
break;
}
} catch (HibernateException e) {
e.printStackTrace();
} finally {
s.close();
} ActionMessages errors = new ActionMessages();
errors.add("login error", new ActionMessage("login.error"));
saveErrors(request, errors);
return mapping.getInputForward(); }
}
struts-config.xml如下:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE struts-config PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 1.2//EN" "http://struts.apache.org/dtds/struts-config_1_2.dtd"><struts-config>
<data-sources />
<form-beans>
<form-bean name="loginForm"
type="com.stuman.web.struts.form.LoginForm">
</form-bean>
</form-beans>
<global-exceptions />
<global-forwards />
<action-mappings>
<action attribute="loginForm" input="/login.jsp"
name="loginForm" path="/login" scope="request"
type="com.stuman.struts.action.LoginAction">
<forward name="teacherLoginSuccess" path="/teacher.jsp" />
<forward name="adminLoginSuccess" path="/admin.jsp" />
<forward name="studentLoginSuccess" path="/student.jsp" />
</action> </action-mappings> <message-resources parameter="" />
</struts-config>不清楚什么原因,当login.jsp进行跳转时,地址栏http://localhost:8080/MyStuMan/login.do一直没法通过struts跳转,烦请各位帮帮忙,看是什么问题