我写一个用户名和密码登录之后修改密码的功能,用的是STRUTS,可是为什么报下面的错啊:
type Status reportmessage /zz/updatedescription The requested resource (/zz/update) is not available.
=======================================
这是我的修改页面:
<script type="text/javascript">
function check_form()
{
if(window.document.updateform.newpassword.value!=window.document.updateform.n_password.value)
{
alert("两次密码输入不一样!");
window.document.updateform.password.focus();
return false;
}
document.getElementById("updateform").submit();
}
</script>
</head>
<body>
<form name="updateform1" id="updateform" action="update" method="post">
原密码:<input type="password" name="oldpassword"/><br>
新密码:<input type="password" name="newpassword"/><br>
再次输入新密码:<input type="password" name="n_password"/><br>
<input type="button" value="确定" onclick="check_form()"/>
</form>
下面是配置文件:
<action-mappings>
<action name="loginForm" path="/login" attribute="loginForm"
type="login.action.LoginAction" scope="request">
<forward name="success" path="/success.jsp"
contextRelative="true">
</forward>
<forward name="fail" path="/error.jsp"
contextRelative="true">
</forward>
</action>
<action name="loginForm" path="update" attribute="loginForm"
type="update.action.UpdateAction" scope="request">
<forward name="success" path="/success.jsp"
contextRelative="true">
</forward>
</action>
</action-mappings>
ACTION:
package update.action;import java.sql.ResultSet;import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;import login.bean.ConnectDB;import org.apache.struts.action.Action;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionForward;
import org.apache.struts.action.ActionMapping;public class UpdateAction extends Action { @Override
public ActionForward execute(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response)
throws Exception {
String psw=request.getParameter("newpassword");
System.out.println(psw);
String sql="update userinfo set password='"+psw+"'";
ConnectDB db=new ConnectDB();
ResultSet rs = db.executeQuery(sql);
System.out.println(psw);
return mapping.findForward("success");
}}
type Status reportmessage /zz/updatedescription The requested resource (/zz/update) is not available.
=======================================
这是我的修改页面:
<script type="text/javascript">
function check_form()
{
if(window.document.updateform.newpassword.value!=window.document.updateform.n_password.value)
{
alert("两次密码输入不一样!");
window.document.updateform.password.focus();
return false;
}
document.getElementById("updateform").submit();
}
</script>
</head>
<body>
<form name="updateform1" id="updateform" action="update" method="post">
原密码:<input type="password" name="oldpassword"/><br>
新密码:<input type="password" name="newpassword"/><br>
再次输入新密码:<input type="password" name="n_password"/><br>
<input type="button" value="确定" onclick="check_form()"/>
</form>
下面是配置文件:
<action-mappings>
<action name="loginForm" path="/login" attribute="loginForm"
type="login.action.LoginAction" scope="request">
<forward name="success" path="/success.jsp"
contextRelative="true">
</forward>
<forward name="fail" path="/error.jsp"
contextRelative="true">
</forward>
</action>
<action name="loginForm" path="update" attribute="loginForm"
type="update.action.UpdateAction" scope="request">
<forward name="success" path="/success.jsp"
contextRelative="true">
</forward>
</action>
</action-mappings>
ACTION:
package update.action;import java.sql.ResultSet;import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;import login.bean.ConnectDB;import org.apache.struts.action.Action;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionForward;
import org.apache.struts.action.ActionMapping;public class UpdateAction extends Action { @Override
public ActionForward execute(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response)
throws Exception {
String psw=request.getParameter("newpassword");
System.out.println(psw);
String sql="update userinfo set password='"+psw+"'";
ConnectDB db=new ConnectDB();
ResultSet rs = db.executeQuery(sql);
System.out.println(psw);
return mapping.findForward("success");
}}
解决方案 »
- 下拉框效果实现
- jsp頁面中5分鐘內用戶無任何動作,怎樣自動返回登陸頁面?
- 为什么throw new Exception("用户密码错误,请重新登陆。");在tomcat 5 中无法运行?
- Struts配置的数据源在业务层如何得到request?
- 关于传null值????
- jsp联盟 我在这里邀请大家 希望长期在线 学jsp的朋友留下您的QQ 方便大家联系 在线交流
- 获取本地文件已上传数据问题。
- JDBC中打开一个连接Connection而不关闭会有什么后果?
- html中的label标签在struts中变什么了?
- 请教,在linux环境下,JSP如何连接oracle数据库?希望较具体一点!将感激不尽!!!
- Spring容器初始化失败(初始化失败,请问大侠我哪里配错了)
- Servlet动态生成xml,EXT不认,什么原因?
是不是应该这样?
<action name="loginForm" path="update.do" attribute="loginForm"
页面上<form name="loginForm" id="updateform" action="/工程名/update" method="post">
还有config配置的对应的<form bean>也要改下
下面的有没有?
[code=XAML]<servlet>
<servlet-name>action</servlet-name>
<servlet-class>org.apache.struts.action.ActionServlet</servlet-class>
<init-param>
<param-name>config</param-name>
<param-value>/WEB-INF/struts-config.xml</param-value>
</init-param>
<init-param>
<param-name>debug</param-name>
<param-value>3</param-value>
</init-param>
<init-param>
<param-name>detail</param-name>
<param-value>3</param-value>
</init-param>
<load-on-startup>0</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>action</servlet-name>
<url-pattern>*.do</url-pattern>
</servlet-mapping>[/code]
另,你都提交了form,怎么还用request取值?
<form action="./update.do" method="post"> 试试,你报404就是你配置的问题,找不到你的url,仔细检查一下
你是要更新数据啊,怎么能执行executeQuery(sql),这是查询的方法啊。。
改吧!!
String sql="update userinfo set password='"+psw+"'";
ConnectDB db=new ConnectDB();
ResultSet rs = db.executeUpdate(sql);