同样 当你点击读取新闻标题的时候,应该是放在集合里面读取出来的,
你可以用一个页面表单的隐藏域 从集合里面取出之后 保存你的标题ID值
在隐藏域里面,也可以直接当变量传。多种方法,另外一种就是在你
提交页面的路径后面加上 “?method=传入的值”
当你再次点击提交的时候,这个时候将你的ID值传到你的处理的方法里面。
看你是跳到另外一个页面 处理,还是在后台用Servlet处理。
总之 传ID过去之后 接收ID值 将ID值 当查询语句的条件就行了。
select * from easybuy_news order by en_create_time desc limit 10你只需要取出来时间最近的十条信息即可,sql语句没那么复杂。order by 做出排序,然后用limit 限定选出最近的10个。
不用每个新闻都是一个独立的页面的。只要从数据库里取出新闻以后,把新闻标题和摘要放在首页,新闻内容还再SESSION里面,然后用户会点击自己感兴趣的新闻标题,这时候链接里面是指向的一个新闻页面,新闻页面里面加入负责从SESSION取出对应新闻内容并显示的代码就行了。
不明白的可以继续补充提问。
PS:
什么是单独打开页面啊?是指浏览器为每个新闻打开一个独立的页面吗?
新闻首页里面新闻链接是<A HREF=... ?id=...>
新闻显示页面里根据传进来的ID从SESSION里取出新闻内容。
这样用户每次点击一个标题,服务器都会开辟一个新的页面来显示新闻内容。而不是把首页跳转到内容显示页面。
不知道你是不是这个意思。呵呵。
PS:可能还是我没有说清楚,呵呵~不好意思
我这样说吧:
SERVLET新闻查询结果放在SESSION里面。
定义一个list.jsp,负责从SESSION里面取出新闻标题并显示给用户。其中每个标题都对应一个<A HREF=... ?id=...>,ID是相对应的新闻的ID.HREF指向的是下面定义的news.jsp
定义一个news.jsp。负责根据list.jsp传过来的ID,从SESSION里面查找新闻内容并显示出来。
这就是整个过程。因为JSP最终是要编译成SERVLET的。所以用户每点击一个新闻标题。服务器都会调用这个编译完成的SERVLET,启动一个服务线程为用户提供服务。在用户的浏览器就表现为一个新的页面了。
关于你说的那个SESSION里没有值的情况,也只能是从数据库里面查询一次,并取出结果然后直接指向新闻页面。
如果你的意思是每一个新闻都在服务器上对应一个文件,可以想象一下如果新闻多了,服务器寻址和做IO的耗时是非常巨大的。服务器压力会非常大。
而且网站维护起来也是异常麻烦,因为每个页面都是独立的死代码,你不可能吧每个新闻文件的代码都修改一边,对吧。
欢迎分享,转载请注明来源:夏雨云
评论列表(0条)