升级版blog--(1)login.jsp

login.jsp


表单提交到checkin.jsp

<form id="form1" name="form1" method="post" action="checkin.jsp">

登陆账户:<input name="username">

登陆密码:<input name="password">

登录:<button type="submit" name="submit">

注册新用户<a href="reg1.jsp">跳转到reg1.jsp

  <form id="form1" name="form1" method="post" action="checkin.jsp">
    <h1> BLOG系统登录</h1>
    <label>登录账户
        <span class="small">Add your name</span>
    </label>
    <input type="text" name="username"  style="background-image:url(images/username.gif); background-position:left; background-repeat:no-repeat; padding-left:20px; width:180px;"/>
    
    <label>登录密码
        <span class="small">Add your password</span>
    </label>
    <input type="password" name="password" style="background-image:url(images/password.gif); background-position:left; background-repeat:no-repeat; padding-left:20px; width:180px;"/>

    <button  type="submit" name="submit">登录</button>    <span class=" f12_000"><a href="reg1.jsp">注册新用户</a></span>
    <div class="spacer"></div>

  </form>


checkin.jsp


<jsp:setProperty name = "JavaBean实例名"  property = "*"/>

该形式是设置Bean 属性的快捷方式.

在Bean 中属性的名字,类型必须和request对象中的参数名称相匹配。

由于表单中传过来的数据类型都是String 类型的,Jsp内在机制会把这些参数转化成Bean属性对应的类型。

property = "*"表示所有名字和Bean属性名字匹配的请求参数都将被传递给相应的属性set方法。  


这里DBBean其实是一个数据库操作类,在这里定义它的实例是db

<jsp:useBean id="db" class="cn.blog.system.Dto.DBBean"></jsp:useBean>

<jsp:useBean id="user" class="cn.blog.system.Dto.UserBean"></jsp:useBean>
<jsp:setProperty property="*" name="user"/>

使用response.sendRedirect()地址栏将改变 

原本应该是先从request中getAttribute得到之前表单提交的username和password

而设置了<jsp:useBean>之后,username和password会传给set方法,放到user中,再想用的时候直接user的get方法就可以得到了

省去了很多麻烦


    <%  
        String username = user.getUsername();  
        String password = user.getPassword();  
        String sql = "select * from userinfo where username=? and password=?";  
        ResultSet rs=db.query(sql, username,password);
        if (rs.next()) {
    		int userid = rs.getInt("userid");
    		session.setAttribute("viewuserid",userid);
    		System.out.println(userid);
    		response.sendRedirect("bloglistdo");
    	} else {
    		response.sendRedirect("login_fail.jsp");
    	}          
                         
    %>  



blog_list.jsp


这页主要是登陆成功后在checkin.jsp里面response.sendRedirect("dobloglist");

dobloglist其实是BlogListServlet


页面上方有一个js写的时钟显示

用ArrayList<UserBean>把user从request中取出来,其实里面只有一个user呢

用迭代器把ub取出来


这里有一个链接到  indexdo  ?userid= ,传了userid的参数,参数是从ub中取出来的,然后取出blogname显示在页面中

显示Nickname和Regtime


在bloglist这个页面里可以输入页数page,默认是首页,也可以点击末页

如果是首页,page传入1

末页是(count-1)/size+1


 <table>
  <tr>
    <td>BLOG相逢的人会再相逢<br /></td>
    <td><a href="login1.jsp">登录</a><a href="reg1.jsp">注册</a>
  </tr>
  <tr>
    <td>欢迎来到个人博客系统~</td>
    <td>
    <script>setInterval("jnkc.innerHTML=new Date().toLocaleString()+'   星期'+'日一二三四五六'.charAt(new Date().getDay());",1000);</script></td>
  </tr>
  </table>
 <table>
 <%
			ArrayList<UserBean> user = (ArrayList<UserBean>) request.getAttribute("user");
			Iterator it = user.iterator();
			while (it.hasNext()) {
				UserBean ub = (UserBean) it.next();
%>
   <tr>
     <td><a href="indexdo?userid=<%=ub.getUserid()%>"><%=ub.getBlogname() %></a></td>
     <td><%=ub.getNickname() %></td>
     <td><%=ub.getRegtime() %></td>
   </tr>
   						<%} %>
 </table>
 <table>
		<tr>
			<td>				
				<%
				int page1 = Integer.parseInt(request.getAttribute("page").toString());
				int size = Integer.parseInt(request.getAttribute("size").toString());
				int count = Integer.parseInt(request.getAttribute("count").toString());
				%>
						<a href="dobloglist?page=1">首页</a>
						<%if (page1>1){ %><a href="dobloglist?page=<%=page1-1%>"><%} %>上一页<%if (page1>1){ %></a><%} %>
						<%if (page1<((count-1)/size+1)){ %><a href="dobloglist?page=<%=page1+1%>"><%} %>下一页<%if (page1<((count-1)/size+1)){ %></a><%} %>
						<a href="dobloglist?page=<%=(count-1)/size+1%>">末页</a>			
			</td>
			<form id="form01" action="dobloglist?page=">			
				当前<%=page1%>/<%=(count-1)/size+1%> 共<%=count%>条记录
			</td>
		</tr>
</table>
</div>
</body>
</html>

BlogListServlet.java

之前checkin.jsp会转到这里来,bloglist.jsp里面的表单也要链接到这里,不停地把page参数传过来


package cn.blog.use.action;

import java.io.IOException;

import javax.servlet.RequestDispatcher;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import cn.blog.system.Dao.*;
import cn.blog.system.Dto.*;

import java.util.*;

public class BlogListServlet extends HttpServlet {
	private static final long serialVersionUID = 1L;
    public BlogListServlet() {
        super();
    }
	protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		doPost(request,response);
	}
	protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		int page;
		if(request.getParameter("page")!=null){
			page=Integer.parseInt(request.getParameter("page"));
		}else{
			page=1;
		}
		int size=10;
		
		List<UserBean> ret=new ArrayList<UserBean>();
		UserDao ud=new UserDao();
		ret=ud.getUser(page, size);
		long count=ud.getUserCount();
		request.setAttribute("user", ret);
		request.setAttribute("count", count);
		request.setAttribute("page", page);
		request.setAttribute("size", size);
		RequestDispatcher requestDispatcher=request.getRequestDispatcher("/use/blog_list.jsp");
		requestDispatcher.forward(request, response);
		
		
	}

}















  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值