问题描述
我是Spring的新手,试图创建注册和登录模块,遇到了很多问题
Registration.jsp:-查看注册表格
<div class="container">
<form:form action="doRegister" method="post" modelattribute="Login">
<h2>Create a FREE account</h2>
<h3>already have an account?<a href="/SurveyIt/Login"><span> Login </span></a></h3>
<div class="form-group">
<label for="username">Username:</label>
<form:input type="text" class="form-control" path="username"/>
</div>
<div class="form-group">
<label for="pwd">Password:</label>
<form:input type="password" class="form-control" path="password"/>
</div>
<div class="form-group">
<label for="email">Email address:</label>
<form:input type="email" class="form-control" path="email"/>
</div>
<div class="form-group">
<label for="fname">First Name:</label>
<form:input type="text" class="form-control" path="firstname"/>
</div>
<div class="form-group">
<label for="lname">Last Name:</label>
<form:input type="text" class="form-control" path="lastname"/>
</div>
<button type="submit" class="btn btn-primary">Submit</button>
</form:form>
@Controller
public class getRegistrationController {
@Autowired
RegistrationService registrationservice;
@RequestMapping("/Registration")
public ModelAndView showRegistration(HttpServletRequest req,HttpServletResponse res) {
ModelAndView mav = new ModelAndView("Registration");
mav.addobject("Login",new Login());
return mav;
}
@RequestMapping(value = "/doRegister",method = RequestMethod.POST)
public String doRegister(@modelattribute("Login") Login login,HttpServletRequest req,HttpServletResponse res)
{
// Login login = new Login();
if(registrationservice.validateUser(login).equals(null))
registrationservice.doinsert(login);
return "Login";
}
}
Registration Service:= Registration service implementation class
@Service("registrationservice")
public class RegistrationServiceImp implements RegistrationService{
RegistratioDao obj;
@Autowired
public void setobj(RegistrationDaoImp obj) {
this.obj = obj;
}
public void doinsert(Login login) {
obj.doinsert(login);
}
public Login validateUser(Login login) {
return obj.validateUser(login);
}
}
注册DAO实现类:-这是注册的实现类dao有2种方法来检查用户是否存在(如果未注册的话)
@Autowired
DataSource datasource;
@Autowired
JdbcTemplate jdbctemplate;
public void doinsert(Login login)
{
String sql = "insert into login (username,password,email) values (?,?,?)";
jdbctemplate.update(sql,new Object[] {login.getUsername(),login.getpassword(),login.getEmail()});
}
public Login validateUser(Login login)
{
String sql = "select * from login where username = ? and password = ?";
List<Login> user = null;
/* System.out.println("username"+ login.getUsername());
System.out.println("password"+ login.getpassword());
System.out.println("email"+ login.getEmail());
System.out.println("firstname"+ login.getFirstname());
System.out.println("lastname"+ login.getLastname()); */
user = jdbctemplate.query(sql,login.getpassword()},new LoginMapper());
return user.size() > 0 ? user.get(0):null;
}
登录映射器类:=>行映射器类
public class LoginMapper implements RowMapper{
public Object mapRow(ResultSet rs,int arg1) throws sqlException {
Login login = new Login();
login.setUsername(rs.getString("username"));
login.setPassword(rs.getString("password"));
login.setEmail(rs.getString("email"));
login.setFirstname(rs.getString("firstname"));
login.setLastname(rs.getString("lastname"));
return login;
}
}
org.springframework.web.util.nestedservletexception:请求处理失败;嵌套的异常是java.lang.NullPointerException org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1013) org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:908) javax.servlet.http.HttpServlet.service(HttpServlet.java:652) org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:882) javax.servlet.http.HttpServlet.service(HttpServlet.java:733) org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)