升级版blog(3)--index.jsp

index.jsp

【这里的indexdaily,userinfo,userid暂时还不知道是从哪里传进来的!!!】

【妈的这里是头头】

		<%
			DailyBean db = (DailyBean) request.getAttribute("indexdaily");
			UserBean ub = (UserBean) request.getAttribute("userinfo");
			String userid = (String) request.getAttribute("userid");
			int userid1= Integer.parseInt(userid);
			int userid2;
			if (session.getAttribute("viewuserid") == null) {
				userid2 = 0;
			} else {
				userid2 = (Integer) session.getAttribute("viewuserid");
			}
		%>

这个页面UserServlet在收到param=reg的时候,如果注册用户失败,就在服务器端调转到index.html

index.jsp里面还要取出登录时,checkin.jsp存进去的viewuserid【session范围内】

如果没取到,说明当前没有正在登录的用户,userid2=0


下面是UserServlet的某一段

		if (param == "reg" || param.equals("reg")) {
			String username = request.getParameter("username");
			String nickname = request.getParameter("nickname");
			String email = request.getParameter("email");
			String password = request.getParameter("password1");
			String blogname = request.getParameter("blogname");
			String blogsign = request.getParameter("blogsign");
			UserBean ub = new UserBean();
			ub.setUsername(username);
			ub.setNickname(nickname);
			ub.setBlogsign(blogsign);
			ub.setEmail(email);
			ub.setBlogname(blogname);
			ub.setPassword(password);
			UserDao ud = new UserDao();
			try {
				ud.addUser(ub);
			} catch (Exception e) {
				e.printStackTrace();
				response.sendRedirect("/index.html");
			}
			response.sendRedirect("/blog_m/use/login.jsp");

下面这段继续是index.jsp中的

<%=ub.getBlogname()%>
<a href="dailydo?userid=<%=userid%>">日志</a>
<a href="photoalbumlistdo?userid=<%=userid%>">相册</a>
<a href="messagedo?blogid=<%=userid%>">留言</a> 
<%if(userid1==userid2){ %><a href="userdo?param=singleuser&userid=<%=userid %>">个人资料</a><%} %>

从ub中取出博客名

日志的链接:dailydo,,传入参数userid

相册的链接:photoalbumlistdo  传入参数userid

留言的链接:messagedo 感觉这里写错了,应该传入的是userid

如果userid1与登录checkin时候存入的userid2相等,就展示个人资料的链接:userdo 传入的参数是param=singleuser和userid

在index.jsp里面放了一个param=singleuser【但是却不知道跟着它的userid是毛】

下面这段是UserServlet中的param=singleuser部分


		if (param == "singleuser" || param.equals("singleuser")) {
			String userid = request.getParameter("userid");
			UserDao ud = new UserDao();
			UserBean ub = ud.getSingleUser(userid);
			request.setAttribute("singleuser", ub);
			request.setAttribute("userid", userid);
			RequestDispatcher requestDispatcher = request
					.getRequestDispatcher("/use/userinfo.jsp");
			requestDispatcher.forward(request, response);

拿到userid后要跳转到userinfo.jsp  等下记得回来写userinfo.jsp


来来来从日志链接开始!!

dailydo!


<servlet>
	<servlet-name>UseDailyServlet</servlet-name>
	<servlet-class>com.blog.use.action.DailyServlet</servlet-class>
</servlet>
<servlet-mapping>
	<servlet-name>UseDailyServlet</servlet-name>
    	<url-pattern>/use/dailydo</url-pattern>
</servlet-mapping>

servlet-name是这个servlet的名字

servelt-class是这个servlet所在的包+类

servlet-mapping是给他分配urlpattern链接

url-pattern指到url/dailydo


UseDailyServlet--cn.blog.use.action.DailyServlet

写这个servlet时出现的问题!!

用eclipse创建的sevlet,它自己导入了一个包import com.sun.xml.internal.bind.v2.schemagen.xmlschema.List;

导致list用不了!!注意哟,删掉就好了!

这个类要做的事情

先把传进来的参数param取出来


判断,如果为空,设置param="view"


如果param=view

【记住去看,当param=view的时候,到底传进来的是谁的userid!!!!!】

从request中把page取出来

如果page为空,则设置page=1

设置size=20

从request中把userid取出来

这里要对Daily操作,所以声明DailyDao的对象dd

因为肯定还要从数据库中把DailyBean取出来,就是把一堆daily取出来,所以记得先声明List<DailyBean> ret=new ArrayList<DailyBean>()

取出daily的函数,调用dd.getDaily(page,size,userid)//从这开始,这些数据就要从数据库里面取数据啥的了,要用trycatch包上

再通过dd.getUseDailyCount(userid)把daily的总数取出来

然后又要对UserBean进行操作,所以先声明UserDao ud

想通过userid得到userBean对象,调用ud.getSingleUser(userid)

然后把ub放进request的userinfo中

把userid放进userid中

把ret【daily的集合】放进daily中

把count放进count中

把page放进page中

把size放进size中

都放好了以后,客户端getRequestDispathcer跳转到/use/daily_list.jsp中


来来来那就继续看看daily_list.jsp

		<%
			UserBean ub = (UserBean) request.getAttribute("userinfo");
			String userid = (String) request.getAttribute("userid");
			int userid1 = Integer.parseInt(userid);
			int userid2;
			if(session.getAttribute("viewuserid")==null){
				userid2 = 0;
			}else{
				userid2 = (Integer)session.getAttribute("viewuserid");
			}
		%>

记不记得之前在dailyservlet里面放进request的那一堆东西

现在把userbean取出来,然后取出来了userid,取出来的这个userid是userid1

再去session里面找viewuserid,也就是登录checkin的时候存进去的userid,在这里是userid2

如果没有的话,userid2=0


<%=ub.getBlogname()%>
<a href="dailydo?userid=<%=userid%>">日志</a>
<a href="photoalbumlistdo?userid=<%=userid%>">相册</a>
<a href="messagedo?blogid=<%=userid%>">留言</a> 
<%
if (userid2==userid1) {
%>
<a href="userdo?param=singleuser&userid=<%=userid %>">个人资料</a>
<%} %>

从ub里面拿出来blogname

然后还是日志,相册,留言那几个链接,以及userid1和userid2对上后,显示个人资料

接下来是重要的了!!是真正展示daily_list.jsp与众不同的地方了!!!!

<form method="post" action="dailydo?param=preadd&userid=<%=userid2 %>">
日志列表
	<%
		if (userid2==userid1) {
	%><input type="submit" value="写新日志"
		
	<%
		}
	%>


要写新日志,所以是表单的样子,东西都要通过表单来提交一下
表单提交到dailydo,也就是一开始点击“日志”链接后,到的那个dailydo
提交的时候带着参数!!param=preadd 和userid2 !!!!
显示“日志列表”四个大字
当userid2【也就是那个登录checkin放进去的userid】=userid1的时候【userid1还是个谜】
会显示“写新日志”的按钮
只要点击了“写新日志”的按钮,表单就提交了!带着userid2还有param=preadd就走了【这里要调到后面写日志那里!等下再说】

继续说咱们

这页重点是什么!!显示日志呀!!

下面来显示日志

之前在dailyservlet中存了一堆东西,里面就有daily,它的真身是从数据库中拿出来的ret,daily的集合

既然是List,其实这里不用Collection也行

用iterator把daily一个个取出来

每个是一个DailyBean对象

有一个显示日志名字的链接

链接中的文字是dailyname,点击后,/blog/use/dailydo?dailyid=  &  userid= 

也就是点了链接后就跑到dailydo去了,还传了两个参数 dailyid userid  都是从新鲜出炉的dailybean里面拿的【感觉这里点过去的链接不对呀!!】

紧接着依旧是永恒的主题!!如果userid1和userid2相等,【你妈的userid1到底是谁!!】

相等的话会继续显示  删除 和 修改这两个链接

删除:跑到了 dailydo?param=del && dailyid= &userid=  这里dailyid和userid都是从dailybean里面拿的

这个request里面有dailyservlet放的page,size,count那些哟!

然后是那个翻页的下标,,其实这里每次的ret都是当前page里面要显示的那些daily,所以每次翻页都要再提交到dailydo,而且没有param参数

所以默认param=view,这时,daily都再从数据库里面取这一页要看的daily,然后再放进request里面再给传回来

到这里,终于把param=view和param大概是搞什么的给弄懂了~!!!

想返回博客主页的时候 链接是dobloglist 没有传参数,直接到blog_list的第一页!

<%
	Collection daily = (Collection) request.getAttribute("daily");
	Iterator it = daily.iterator();
	while (it.hasNext()) {
		DailyBean db = (DailyBean) it.next();
%>

		<a href="/blog/use/dailycdo?dailyid=<%=db.getDailyid()%>&userid=<%=db.getUserid()%>"><%=db.getDailyname()%></a>    
		<%=db.getPostingdate()%>
		<%
				if (userid2==userid1) {
		%>
		<a href = "dailydo?param=del&dailyid=<%=db.getDailyid() %>&userid=<%=db.getUserid() %>">删除</a>
		<a href = "dailydo?param=preupdate&dailyid=<%=db.getDailyid()%>&userid=<%=db.getUserid()%>">修改</a>
		<%
				}
		%>
<%
	}
	int page1 = Integer.parseInt(request.getAttribute("page")
			.toString());
	int size = Integer
			.parseInt(request.getAttribute("size").toString());
	int count = Integer.parseInt(request.getAttribute("count")
			.toString());
%>

			<%if (page1>1){ %><a href="dailydo?userid=<%=userid%>&page=<%=page1 - 1%>"><%} %>上一页<%if (page1>1){ %></a><%} %>
			<%if (page1<((count-1)/size+1)){ %><a href="dailydo?userid=<%=userid%>&page=<%=page1 + 1%>"><%} %>下一页<%if (page1<((count-1)/size+1)){ %></a><%} %>
			当前第<%=page1%><%=(count - 1) / size + 1%>页  共
			<%=count%>条记录

昵称:<%=ub.getNickname()%>

<a href="bloglistdo">返回博客系统主页</a>




下面是dailyservlet中param=preadd的部分!!

	if (param == "preadd" || param.equals("preadd")) {
			String userid = request.getParameter("userid");
			UserDao ud = new UserDao();
			UserBean ub = ud.getSingleUser(userid);
			request.setAttribute("userinfo", ub);
			request.setAttribute("userid", userid);
			RequestDispatcher requestDispatcher = request
					.getRequestDispatcher("/use/writedaily.jsp");
			requestDispatcher.forward(request, response);
		}



传进来param=preadd的时候,也给了一个userid

通过这个userid,用ud.getSingle(userid)得到userbean对象

然后!!客户端跳转到use/writedaily.jsp【等下记的来看这个writedaily.jsp】






























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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值