CSDN博客

img alen1985

暑假实习学习JSP笔记

发表于2008/10/2 9:14:00  593人阅读

分类: java常见问题总结

JSP常见功能的实现

                       By  Alen

 

1.         登陆实现

<%

    String username=request.getParameter("user");     //获取登陆信息

    String pass=request.getParameter("pass");

    //out.println(username);

   // out.println(pass);

    String sql="select * from admin where admin_name='"+username+"'"+" and admin_pass='"+pass+"'";

    ResultSet rs=dbBean.exeSQL(sql);

    //int result=0;

       if(!rs.next()){                                                                   

               response.sendRedirect("Error.jsp");    //登陆失败

       }

               else{                                       //登陆成功

               session.setAttribute("username",rs.getString("admin_name"));

               session.setAttribute("pass",""+rs.getString("admin_pass")+"");

               response.sendRedirect("Welcome.jsp");

        }

%>

思路:主要是先从TEXT中获取用户名等相关参数,然后与数据库中相比较,如果所得数据集不为空,则登陆成功,转向登陆成功页面并且保存相关数据(主要用SESSIONsession.setAttribute("username",rs.getString("admin_name"));

 

2SESSION保存信息应用

a)         session.setAttribute("username",rs.getString("admin_name"));  //把相关信息定义一个变量保存好

b)        <%=session.getValue("username") %>;  //然后通过这变量来应用相关信息

 

3、退出模块

a)         主要用超链接<a class="grey" href="Welcome.jsp?loginout=true"> exit this system!</a>

b)        然后用下面的代码<%String loginout=request.getParameter("loginout");     //exit this system

         if(loginout!=null){

               if(loginout.compareTo("true")==0)

               {

                    session.removeAttribute("username");

                    session.removeAttribute("pass");

                    response.sendRedirect("Login.jsp");

               }

          } %>

 就可以退出了,等于就是清除相关的SESSION

 

4、根据ID或者某个属性值得到具体信息

a)        用个超链接<a href="bookinfo.jsp?id=<%=rs.getString("news_id")%>">

     <fontcolor="#FF0000"><%=rs.getString("news_title")%></font></a>

b)        然后用String id=request.getParameter("id");即可获取到,然后用SQL语句就可以完成。

<%

    String id=request.getParameter("id");

        String sql2="select * from news where news_id="+id;

    ResultSet set=dbBean.exeSQL(sql2);

    while(set.next()){

        

        out.println(dbBean.getString(set,"news_id"));

          out.println(dbBean.getString(set,"news_title"));

          out.println(dbBean.getString(set,"news_content"));

    }   

%>

 

5、图片数据库中的存取以及调用

a)         在数据库中用地址储存如:images/1002.jpg  (放在fengmian表里面)

b)        然后在代码中<img src=<%=rs.getString("fengmian")%> width="60" height="80"></td>调用即可。

c)        需注意images目录应该放在WebRoot目录下,这样才会在服务器中部署. 否则图片显示不出来的。

 

6、利用SCRIPT来实现弹出框,并且转向另外一个页面

a)         <%out.println("<script>alert('ok');window.location='Login.jsp';</script"); %>

 

7、往数据库添加数据操作

a)        <input type="submit" name="Submit" value=" " >   点击然后由下面的代码处理

b)        添加处理代码

<%

//添加操作

if(request.getParameter("Submit")!=null)

{

String catename=request.getParameter("BigClassName");

String highid=request.getParameter("BigClassID");

sql="insert into category(categoryName,highLevelID) values('"+catename+"',"+highid+")";

stmt.executeUpdate(sql);

out.print("<script>alert('添加图书类别成功!');window.location='da_category.jsp';</script>");

}

c)        如果用的是FORM形式处理的话,就是转向另外一个JSP页面进行处理了!

 

8、中文转换问题

当从数据库中取出的是中文的话,用如下代码转换:

a)        String catename=new String(request.getParameter("BigClassName").getBytes("ISO8859-1"));

b)        request.setCharacterEncoding("gbk");  页面中从数据库获取数据显示中文时用到.

c)        <%@ page contentType="text/html;charset=gb2312"  %>  主要用在指令元素中

注意: 三者具体区别及应用需查资料.

 

9、从结果集中获取任意行任意列的值

a)        Statement stmt=conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_READ_ONLY);

ResultSet rs=stmt.executeQuery(sql);

其中括号中的2个参数很重要,表示结果集可以向前后移动并且声明是否更新到结果集等

b)         rs.absolute(2);用来绝对定位到某一行

c)        out.println(rs.getString(2));用来绝对定位到某一列

这样就完成了可以对结果集中任意某个值进行读取!

 
0 0

相关博文

我的热门文章

img
取 消
img