黑马程序员技术交流社区
标题:
jsp 登陆界面问题!
[打印本页]
作者:
黄方
时间:
2012-3-13 12:23
标题:
jsp 登陆界面问题!
刚刚接触jsp,请各位指点!
为何传过去的用户名和密码都为空,而就直接跳到错误页面!
login.jsp 登陆界面
longin_check 验证界面
login.jsp 登陆界面
<body>
<form name=" form1" method="post" action="Login_check.jsp">
<br>
用户名:
<input type="text" name=" name" id=" name">
</br>
<br>
密码:
<input type="password" name="password" id=" name">
<br>
<input name="Submit" type="submit" id=" Submit" value="登陆">
<input name="Submit2" type="reset" value="重置">
</form>
</body>
longin_check 验证界面
<%
String path = request.getContextPath();
String basePath = request.getScheme() + "://"
+ request.getServerName() + ":" + request.getServerPort()
+ path + "/";
%>
<%
request.setCharacterEncoding("UTF-8");
%>
<%
String name = request.getParameter("name");
String pwd = request.getParameter("password");
try {
Class
.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
} catch (ClassNotFoundException e) {
e.printStackTrace();
System.out.print("驱动包连接失败!");
}
String url = "jdbc:sqlserver://localhost:1433;DatabaseName=StuInfor";
String user = "sa";
String password = "sa";
Connection con = null;
PreparedStatement psta = null;
ResultSet rs = null;
String sql = "select * from Student where username='" + name
+ "' and password='" + pwd + "'";
try {
con = DriverManager.getConnection(url, user, password);
} catch (SQLException e) {
e.printStackTrace();
System.out.println("数据库连接失败!");
}
try {
psta = con.prepareStatement(sql);
rs = psta.executeQuery();
if (rs.next()) {
session.setAttribute("Login_name", name); //成功登陆的用户存储到session对象中
response.sendRedirect("Main.jsp"); //登陆成功后转向到mian.jsp页面中
} else {
response.sendRedirect("index.jsp"); //登陆失败转向到index.jsp页面中
}
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
//}
%>
作者:
lucky_xingxing
时间:
2012-3-13 12:43
你这样写代码是不规范的。jsp是用来页面显示的,在mvc中属于显示层,它的用途是用来显示逻辑的 而不是用来处理请求的以及控制业务逻辑的,你应该把请求交给servlet通过servlet来对第一个表单的请求进行处理 然后再转向页面。要养成好的编程规范,jsp页面里面也是尽量别写java代码的 而是基本都是通过el表达式和jstl标签来实现的。对于你这个问题 我觉得你可以把请求交给servlet来处理
作者:
黄方
时间:
2012-3-13 13:39
lucky_xingxing 发表于 2012-3-13 12:43
你这样写代码是不规范的。jsp是用来页面显示的,在mvc中属于显示层,它的用途是用来显示逻辑的 而不是用来 ...
嗯嗯,你说的很对,底层数据处理应该是交给serverlet的,对于一个新手来说,我没接触过serverlet,自学的jsp,从jsp角度来看,貌似更直观!如果从编程规范角度来讲确实要封装,由于我这是个很简单的登陆界面处理,可以直接交给jsp处理的!由于与现在myeclipse的功能比较强大,所以就创了4个页面,让它跑,如果是业务比较多的话,肯定有交给serverlet的!还好自己不断debug给解决了!谢谢你的提醒!
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2