jsp 1

家住魔仙堡 提交于 2019-12-01 08:04:17

如何用最基础的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;

 

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!