如何用最基础的jsp语言写出来一个web项目呢?
首先要弄明白最基本的知识,我认为最基本的知识就是jsp 的内置对象:
1.request 调用这个对象的getparameter()方法可以把客户端输入的参数取过来.
然后我们想 当我们想要完成以一个登录项目的时候 我们要实现的是如下的步骤
1.用户输入了用户名和密码
2.用户点的提交
3,如果登录成功则返回登陆成功,如果不成功则显示错误
细化到各个文件上来说
用户所填写的网页就是你写的login.jsp,这个jsp实现了html与css的外层样式,
当点击提交时,此时开始 action=validated.jsp login.jsp转向validated.jsp开始校验用户的用户名和密码是否正确呢?
validate.jsp 实现了用户名和密码的校验 我们对这个必须要具体来看(注意:我们现在采用的是model1开发模式,即jsp jb jdbc):
校验分为这几个步骤,首先取过来用户书输入的用户名和密码,然后去查找数据库中的用户名和密码,之后进行匹配,如果匹配成功了,就返回main 匹配失败了就返回error
"取过来用户名和密码": jsp内置的request对象:string name=request.getParameter("name") //这里的"name "就是我们在login,jsp设置的name type 的name
string password=request.getParamater("password") 同理这也是我们取过来的密码;
现在我们要提到另一个非常重要的知识点,就是javabean
为什么要用javabean ,我们用Javabean 的目的就是将连接数据库(工具javabean)和setget方法(值javabean)独立出来,增加代码的易读性
对于值javabean,我们利用他是为了利用这个类 构造一个这个类的对象, 再将这个类内所有的方法比如 setid setname这些属性都给了这个对象,用session来保存
所以综合代码开始分析了:
request.setCharacterEncoding("gb2312");//保证取到的值,计算机能看懂
String usr=request.getParameter("username");//获取type 中name 的值
String pwd=request.getParameter("password");
boolean validated=false;//必须为false
UserTable user=null;//现在刚刚声明了user还未创建他
user=(UserTable)session.getAttribute("user");//session 获得了名字为"user "的所有属性,并将它转型为usertable类,保存在user中,为什么将他转型? getattribute获得的是object的值,而user获得了name string,id int所以必须必须要转型为usertable才能使用
if(user==null){//第一次肯定null 但是第二次就不是了,里面有东西了
String sql="select * from userTable";
ResultSet rs=SqlSrvDB.executeQuery(sql);
while(rs.next()){//利用next指针一个一个寻找匹配的值
if((rs.getString("username").trim().compareTo(usr)==0)&&(rs.getString("password").compareTo(pwd)==0))//******************
String getString(int columnIndex) 以java编程语言中String的形式获取此ResultSet对象的当前行中指定列的值
String getString(String columnLabel) 以java编程语言中String的形式获取此ResultSet对象的当前行中指定列的值******************///////
{
user=new UserTable();
user.setId(rs.getInt(1));
user.setUsername(rs.getString(2));
user.setPassword(rs.getString(3));
session.setAttribute("user",user);
validated=true;