ssh struts2 表单注入问题

问题描述

ssh整合好了,数据库表只有三个字段id(主键)、name、password;这是数据库表的映射类packagecom.cc.pojo;publicclassPeople{privateintid;privateStringname;privateStringpassword;publicintgetId(){returnid;}publicvoidsetId(intid){this.id=id;}publicStringgetName(){returnname;}publicvoidsetName(Stringname){this.name=name;}publicStringgetPassword(){returnpassword;}publicvoidsetPassword(Stringpassword){this.password=password;}}-----------------------------------------------------------这是LoginAction(留意login方法输出的id)packagecom.cc.action;importjavax.servlet.http.HttpSession;importorg.apache.struts2.ServletActionContext;importcom.cc.pojo.People;importcom.cc.service.IUservice;importcom.opensymphony.xwork2.ActionContext;importcom.opensymphony.xwork2.ActionSupport;publicclassLoginActionextendsActionSupport{privateIUserviceuserService;privatePeoplepeople=null;publicIUservicegetUserService(){returnuserService;}publicvoidsetUserService(IUserviceuserService){this.userService=userService;}publicPeoplegetPeople(){returnpeople;}publicvoidsetPeople(Peoplepeople){this.people=people;}publicStringlogin(){System.out.println(people.getId()+people.getName());if(userService.login(people)){HttpSessionsession=ServletActionContext.getRequest().getSession();session.setAttribute("people",people);returnSUCCESS;}else{returnERROR;}}}--------------------------------------这是登录的表单<body><formaction="login"method="post">用户名:<inputtype="text"name="people.name"/><br/>密码:<inputtype="password"name="people.password"/><br/><inputtype="submit"value="登录"/><inputtype="reset"value="重置"/></form></body>我的数据库表有几条记录,id都不同但是无论用那条记录登录进去,控制台输出的people.getId都是0所以我登录后很难进行更新用户信息求高手解答!

解决方案

解决方案二:
你又没有查询数据库,id当然为0了!表单传过来name和password,然后再查表判断是否正确!所以你得先查表啊
解决方案三:
people是空对象吧没有主键
解决方案四:
根据name和password去数据库查一下people对象,然后输出id
解决方案五:
people的id你跟本没取,但是people的name和password应该是有值的,就是你在登陆页面输入的值
解决方案六:
肯定打出来是0啊。你这样的话只是收集到了name和password,要先根据这两个条件去数据库里面穿查出对应的数据,再用对象接收,然后通过那个对象才能拿到id!

时间: 2024-11-16 11:56:26

ssh struts2 表单注入问题的相关文章

Struts2表单请求流程(一)

Struts2框架出来有段时间了,终于开始学习Struts了,也写点东西记录下自己的历程 此文主要来自www.blogjava.net/Max的实例,自己是初学,自己动手实践真的很有趣,有不对的地方希望大家给有指正. 首先login.jsp页面表单: <s:form action="login" method="post"> <s:textfield name="username" label="USERNAME&qu

SSH from表单提交 struts的&amp;amp;lt;result name=&amp;amp;quot;success&amp;amp;quot;&amp;amp;gt;/index.jsp&amp;amp;lt;/result&amp;amp;gt;错误如下,求大神指教!

问题描述 严重:Servlet.service()forservlet[default]incontextwithpath[/product_centre]threwexception[Filterexecutionthrewanexception]withrootcausejava.lang.AbstractMethodError:com.davidjc.ajaxfileupload.multipart.MonitoredMultiPartRequest.cleanUp()Vatorg.apa

关于Struts2 表单验证器的错误提示信息显示问题

问题描述 为何默认总是在表单上方显示错误提示信息?我并没有使用 <s:fielderror></s:fielderror> jsp代码如下: <s:form action="loginPro">     <s:textfield name="user.username" key="username" /><s:property value="errors['user.username

struts2表单验证问题

问题描述 我用struts2的编程式验证框架实现时,为什么this.addFieldError("a","msg")中的msg无法再页面上显示!望高人指点! 解决方案 解决方案二:该回复于2011-04-23 08:56:08被版主删除解决方案三:描述太简单了点吧解决方案四:<s:fielderror><s:param>a</s:param></s:fielderror>解决方案五:信息太少~~我更喜欢JS验证~~解决

Struts2表单请求流程(二)— Struts2高级的POJO访问

Struts 2.0支持更高级的POJO访问,先定义一个User.java类.把username和password属性,从Login类中分离出来,它可以使系统结构更清晰,对开发多层系统尤其有用. User.java package com.bulktree.struts2; public class User { private String username; private String password; public String getUsername() { System.out.p

为Struts2的表单验证添加AJAX效果实例

首先需要DWR servlet(uk.ltd.getahead.dwr.DWRServlet)Dojo和Ajax theme,其中DWR用于正常的校验Dojo用于处理ajax效果. 接下来,配置dwr,编写dwr.xml,存放于WEB-INF/下.内容如下 <!DOCTYPE dwr PUBLIC "-//GetAhead Limited//DTD Direct Web Remoting 1.0//EN" "http://www.getahead.ltd.uk/dwr/

struts2之防止表单重复提交

struts.xml配置文件 <?xml version="1.0" encoding="utf-8" ?><!doctype struts public "-//apache software foundation//dtd struts configuration 2.0//en" "http://struts.apache.org/dtds/struts-2.0.dtd"> <struts&

通过Ajax两种方式讲解Struts2接收数组表单的方法_AJAX相关

使用struts2表单传值,可以传一个或者是作为一个对象的各个属性传,都非常灵活便捷.但是如果我们需要传一个数组并希望struts正确接收,该怎么处理呢? 下面我将通过普通表单和ajax两种方式讲解.首先我们有如下一个实体,一个action和一个jsp. Student.java public class Student { private String name; private String num; } StudentAction.java public class StudentActi

通过Ajax两种方式讲解Struts2接收数组表单的方法

使用struts2表单传值,可以传一个或者是作为一个对象的各个属性传,都非常灵活便捷.但是如果我们需要传一个数组并希望struts正确接收,该怎么处理呢? 下面我将通过普通表单和ajax两种方式讲解.首先我们有如下一个实体,一个action和一个jsp. Student.java public class Student { private String name; private String num; } StudentAction.java public class StudentActi