这里为什么会出现spring 空指针针异常?谢谢~

JSP中验证用户登录时出现空指针异常问题-java-电脑编程网JSP中验证用户登录时出现空指针异常问题作者:yuyaangel 和相关&&最近在做一个用户登录页面,本来我的登录页面和验证登录页面是分开的,即输入完用户名和密码并点击确定后跳转到另一个页面进行验证,验证成功后再回到相应页面,后来觉得不好,于是想把两个页面合并起来,即将form标签的action属性定义为当前页面。由于开始做,因而我的验证思路十分简单,我限定一个用户名和密码,然后再和用户输入的进行比对。代码如下(login.):&form action=&login.& method=&post&&&
&p&用户名:&input type=&text& name=&Username1& value=&username&&&/p&&
&p&密码:&input type=&password& name=&Password1& value=&password&&&/p&&
&input type=&submit& value=&登录& name=&Submit&&&
&input type=&reset& value=&重置& name=&Reset&&&
&/p&&/form&&%&
String usnm = request.getParameter(&Username&);&
String pswd = request.getParameter(&Password&);&
if(!usnm.equals(&angel&)||!pswd.equals(&123456&)){//用户名或密码错误%&&
&strong&用户名或密码错误!&/strong&&%}else{%&&
&p&登录成功,页面自动跳转中...&/p&&
&meta http-equiv=&refresh& content=&3;url=index.jsp&&&%}%&结果浏览器直接报错:.lang.NullPointerException我知道它是指这句话:if(!usnm.equals(&angel&)||!pswd.equals(&123456&))中的usnm和pswd为空,但是我刚开始就给它们赋值了啊(value=&username&,value=&password&)而且应该是当我点击登录后它才开始验证吧,我明明还没有填写,更没有点击登录按钮,它怎么就直接去验证了呢?请各位指点一下吧。顺便说一句,我学JSP没几天,有些东西不懂导致用错了滴,还请指出,谢谢了。------回答---------------其他回答(10分)---------错误出在,你的HTML文本域的名字和你获取的名字不一样你这里的代码应该写的更严谨一点。偷懒一点的方法是String usnm = request.getParameter(&Username&);String pswd = request.getParameter(&Password&);if(usnm == null || usnm.equals(&&)){&}if(pswd == null || pswd .equals(&&)){&}再去判断if(!usnm.equals(&angel&)||!pswd.equals(&123456&)){建议写个工具类,将所有字符串先过滤一次。如果是NULL就变成&&然后再去判断不为&& 就不会出现空指针异常了}------其他回答(10分)---------一般这两句话都不是像你这样写的,如果你没有传入的话肯定回报空指针异常,应该这样写if(!&angle&.equals(usnm)||!&123456&.equals(pswd))这么写的话就不会再报空指针异常------其他回答(10分)---------Java code
楼主的问题有3个错误,一个
错误1:楼主太马虎了name取错了
原文改成:
String usnm = request.getParameter(&Username1&);
String pswd = request.getParameter(&Password1&);
2.异常处理:
没有传入的话肯定回报空指针异常,原文改成:
if(!&angle&.equals(usnm)||!&123456&.equals(pswd))这么写的话就不会再报空指针异常
3.顺序逻辑错误:
当楼主你点确定时,页面跳转到login.jsp,页面将重新加载信息,用户名和密码的文本框中被value值替代.
假设楼主输入用户名为admin,按确定后,页面跳转,执行String usnm = request.getParameter(&Username1&);
usnm的值将是username而不是admin,永远登录不成功!
改正做法:
把jsp &%...%& 代码写在页面最开始的位置,并加条件判断
如:
if(request.getParameter(Username1)!=null){
执行&%...%&中的所以代码
}
------其他回答(10分)---------在用equals比较时,比较稳妥的写法是将确保不为空的String放在前:请试着将:if(!usnm.equals(&angel&)||!pswd.equals(&123456&))改为:if(!&angel&.equals()||!&123456&.equals(pswd))------其他回答(10分)---------if(!usnm.equals(&angel&)||!pswd.equals(&123456&)){//用户名或密码错误应该改为 if(!&angel&.equals(usnm)||!&123456&.equals(pswd)){//用户名或密码错误否则就会产生null异常的------回答---------------其他回答(10分)---------错误出在,你的HTML文本域的名字和你获取的名字不一样你这里的代码应该写的更严谨一点。偷懒一点的方法是String usnm = request.getParameter(&Username&);String pswd = request.getParameter(&Password&);if(usnm == null || usnm.equals(&&)){ &}if(pswd == null || pswd .equals(&&)){ &}再去判断if(!usnm.equals(&angel&)||!pswd.equals(&123456&)){建议写个工具类,将所有字符串先过滤一次。如果是NULL就变成&&然后再去判断不为&& 就不会出现空指针异常了}------其他回答(10分)---------一般这两句话都不是像你这样写的,如果你没有传入的话肯定回报空指针异常,应该这样写if(!&angle&.equals(usnm)||!&123456&.equals(pswd))这么写的话就不会再报空指针异常------其他回答(10分)---------Java code
楼主的问题有3个错误,一个
错误1:楼主太马虎了name取错了
原文改成:
String usnm = request.getParameter(&Username1&);
String pswd = request.getParameter(&Password1&);
2.异常处理:
没有传入的话肯定回报空指针异常,原文改成:
if(!&angle&.equals(usnm)||!&123456&.equals(pswd))这么写的话就不会再报空指针异常
3.顺序逻辑错误:
当楼主你点确定时,页面跳转到login.jsp,页面将重新加载信息,用户名和密码的文本框中被value值替代.
假设楼主输入用户名为admin,按确定后,页面跳转,执行String usnm = request.getParameter(&Username1&);
usnm的值将是username而不是admin,永远登录不成功!
改正做法:
把jsp &%...%& 代码写在页面最开始的位置,并加条件判断
如:
if(request.getParameter(Username1)!=null){
执行&%...%&中的所以代码
}
------其他回答(10分)---------在用equals比较时,比较稳妥的写法是将确保不为空的String放在前:请试着将:if(!usnm.equals(&angel&)||!pswd.equals(&123456&))改为:if(!&angel&.equals()||!&123456&.equals(pswd))------其他回答(10分)--------- if(!usnm.equals(&angel&)||!pswd.equals(&123456&)){//用户名或密码错误应该改为 if(!&angel&.equals(usnm)||!&123456&.equals(pswd)){//用户名或密码错误否则就会产生null异常的相关资料:|||||||JSP中验证用户登录时出现空指针异常问题来源网络,如有侵权请告知,即处理!编程Tags:                &                    求改错,为什么红色部分为空指针异常错误,怎么改
[问题点数:20分,无满意结帖,结帖人zhunaoke822]
求改错,为什么红色部分为空指针异常错误,怎么改
[问题点数:20分,无满意结帖,结帖人zhunaoke822]
不显示删除回复
显示所有回复
显示星级回复
显示得分回复
只显示楼主
相关帖子推荐:
匿名用户不能发表回复!|
每天回帖即可获得10分可用分!小技巧:
你还可以输入10000个字符
(Ctrl+Enter)
请遵守CSDN,不得违反国家法律法规。
转载文章请注明出自“CSDN(www.csdn.net)”。如是商业用途请联系原作者。android测试中,出现空指针怎么办?如何防止空指针错误。
[问题点数:20分]
android测试中,出现空指针怎么办?如何防止空指针错误。
[问题点数:20分]
不显示删除回复
显示所有回复
显示星级回复
显示得分回复
只显示楼主
相关帖子推荐:
2013年10月 Java大版内专家分月排行榜第二2013年3月 Java大版内专家分月排行榜第二2013年2月 Java大版内专家分月排行榜第二
2013年7月 Java大版内专家分月排行榜第三2013年5月 Java大版内专家分月排行榜第三2013年4月 Java大版内专家分月排行榜第三
匿名用户不能发表回复!|
每天回帖即可获得10分可用分!小技巧:
你还可以输入10000个字符
(Ctrl+Enter)
请遵守CSDN,不得违反国家法律法规。
转载文章请注明出自“CSDN(www.csdn.net)”。如是商业用途请联系原作者。51CTO视频课程推荐:
27045人学习
9077人学习
查看:2572|回复:6
Configuration configuration = new Configuration(); configuration.configure(); ServiceRegistry serviceRegistry = new ServiceRegistryBuilder().applySettings(configuration.getProperties()).buildServiceRegistry(); SessionFactory sessionFactory = configuration.buildSessionFactory(serviceRegistry);此处最后一行报错,意思是空指针:Exception in thread &main& java.lang.NullPointerException& & & & at org.hibernate.engine.jdbc.internal.JdbcServicesImpl.configure(JdbcServicesImpl.java:207)& & & & at org.hibernate.service.internal.StandardServiceRegistryImpl.configureService(StandardServiceRegistryImpl.java:75)& & & & at org.hibernate.service.internal.AbstractServiceRegistryImpl.initializeService(AbstractServiceRegistryImpl.java:159)& & & & at org.hibernate.service.internal.AbstractServiceRegistryImpl.getService(AbstractServiceRegistryImpl.java:131)& & & & at org.hibernate.cfg.SettingsFactory.buildSettings(SettingsFactory.java:71)& & & & at org.hibernate.cfg.Configuration.buildSettingsInternal(Configuration.java:2273)& & & & at org.hibernate.cfg.Configuration.buildSettings(Configuration.java:2269)& & & & at org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1738)& & & & at org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1778)同样的配置在连接MySQL时没有问题,我的hibernate.cfg.xml内容如下: &!--& & &property name=&connection.driver_class&&com.mysql.jdbc.Driver&/property&& & &property name=&connection.url&&jdbc:mysql://localhost:3306/hibernate&/property&& & &property name=&connection.username&&root&/property&& & &property name=&connection.password&&root&/property&& && &&&&property name=&dialect&&org.hibernate.dialect.MySQLDialect&/property&& &--&& & &property name=&connection.driver_class&&oracle.jdbc.driver.OracleDriver&/property&& & &property name=&connection.url&&jdbc:oracle:thin:@localhost:1521:MYORCL&/property&& & &property name=&connection.username&&scott&/property&& & &property name=&connection.password&&tiger&/property&& & &property name=&dialect&&org.hibernate.dialect.OracleDialect&/property&& &&&&!-- JDBC connection pool (use the built-in) --&& & &property name=&connection.pool_size&&1&/property&其中关于MySQL的部分被注释掉了,只要切换成MySQL就没有问题,数据库方面我直接用jdbc连接过,没有任何问题,所用配置就是这个xml里面的配置,在线等高手,谢谢!!!!!我是新手,请不要笑。
另外我的main方法只执行了最前面那段代码,没有任何多余代码
初级工程师
老大,我说的是hibernate!
&property name=&connection.url&&jdbc:mysql://localhost:3306/hibernate&/property&&&oracle ?
&property name=&connection.url&&jdbc:mysql://localhost:3306/hibernate&/property&&&这玩意怎么可以连接oracle呢。
另外,报控制针的时候,就是你的& &.&&的前面没有东西,就从那里一步步往上找
&!--& & &property name=&connection.driver_class&&com.mysql.jdbc.Driver&/property&& & &property name=&connection.url&&jdbc:mysql://localhost:3306/hibernate&/property&& & &property name=&connection.username&&root&/property&& & &property name=&connection.password&&root&/property&& && &&&&property name=&dialect&&org.hibernate.dialect.MySQLDialect&/property&& &--&
老大,我这里是引起来了的……
哥们,我和你出现了一模一样的问题,oracle环境不好用,换了mysql就好了,不知道你现在知道是什么原因了不,知道的话指点我一下啊。为什么程序里显示空指针 我就设定了四个按钮分别绑定一个监听器 运行完有空指针异常 xml文件里面也没错_百度知道
为什么程序里显示空指针 我就设定了四个按钮分别绑定一个监听器 运行完有空指针异常 xml文件里面也没错
package com.example.import android.app.Aimport android.os.Bimport android.view.Vimport android.view.View.OnClickLimport android.widget.Bimport android.widget.EditTimport android.widget.TextVpublic class SecondActivity extends Activity{
private EditText ed1;
private EditText ed2;
private TextV
private Button bt01;
private Button bt02;
private Button bt03;
private Button bt04;
@Override protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
setContentView(R.layout.second);
bt01.setOnClickListener(new button1listenner());
bt02.setOnClickListener(new button2listenner());
bt03.setOnClickListener(new button3listenner());
bt04.setOnClickListener(new button4listenner()); } class button1listenner implements OnClickListener {
public void onClick(View v)
ed1=(EditText)findViewById(R.id.ed1);
ed2=(EditText)findViewById(R.id.ed2);
jieguo=(TextView)findViewById(R.id.jieguo);
String a=ed1.getText().toString();
String b=ed2.getText().toString();
double a1=Double.parseDouble(a);
double b1=Double.parseDouble(b);
double c=a1+b1;
jieguo.setText(c+&&);
} } class button2listenner implements OnClickListener {
public void onClick(View v)
ed1=(EditText)findViewById(R.id.ed1);
ed2=(EditText)findViewById(R.id.ed2);
jieguo=(TextView)findViewById(R.id.jieguo);
String a=ed1.getText().toString();
String b=ed2.getText().toString();
double a1=Double.parseDouble(a);
double b1=Double.parseDouble(b);
double c=a1-b1;
jieguo.setText(c+&&);
} } class button3listenner implements OnClickListener {
public void onClick(View v)
ed1=(EditText)findViewById(R.id.ed1);
ed2=(EditText)findViewById(R.id.ed2);
jieguo=(TextView)findViewById(R.id.jieguo);
String a=ed1.getText().toString();
String b=ed2.getText().toString();
double a1=Double.parseDouble(a);
double b1=Double.parseDouble(b);
double c=a1*b1;
jieguo.setText(c+&&);
} } class button4listenner implements OnClickListener {
public void onClick(View v)
ed1=(EditText)findViewById(R.id.ed1);
ed2=(EditText)findViewById(R.id.ed2);
jieguo=(TextView)findViewById(R.id.jieguo);
String a=ed1.getText().toString();
String b=ed2.getText().toString();
double a1=Double.parseDouble(a);
double b1=Double.parseDouble(b);
double c=a1/b1;
jieguo.setText(c+&&);
提问者采纳
看看哪一行出错,是不是有什么文本框输入没有填写值,但是在程序却对他进行double型的转换呢?你的程序最好打印必要的debug日志信息,可以在一个模式下查看这些日志的,具体是什么模式,我忘了,貌似是4个字母的
提问者评价
谢谢你回答了 是那几个Button忘记用findviewbyid指向xml里面的button了
其他类似问题
监听器的相关知识
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁

我要回帖

更多关于 spring 空指针 的文章

 

随机推荐