servlet.java
package zhbit.servlet ;
import java.io.* ;
import java.util.* ;import javax.servlet.* ;
import javax.servlet.http.* ;
import zhbit.factory.* ;
import zhbit.vo.* ;
public class userServlet extends HttpServlet {
public void doGet(HttpServletRequest req,HttpServletResponse resp) throws ServletException,IOException{
String path = "userInfo.jsp" ;
String name = req.getParameter("name") ;
List<String> info = new ArrayList<String>() ;
try{
List<User> lst2 = DAOFactory.getIUserDAOInstance().findAll();
info.add(
"<table > <tr> <th>用户ID</th><th>用户名</th><th>密码</th></tr><c:forEach items=\"${lst2}\" var=\"lst2\">" +
"<tr> <td>${lst2.userid}</td> <td>${lst2.name}</td> <td>${lst2.password}</td><td> </td> </tr> </c:forEach> </table> ");
req.setAttribute("info",info) ;
req.getRequestDispatcher(path).forward(req,resp) ;
}catch(Exception e){
e.printStackTrace() ;
}
}
public void doPost(HttpServletRequest req,HttpServletResponse resp) throws ServletException,IOException{
this.doGet(req,resp) ;
}
}info.jsp
<%@ page language="java" import="java.util.*" pageEncoding="GBK"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%><html>
<head>
</head>
<body>
<form action="userServlet" method="post" onSubmit="return validate(this)">
用户名:<input type="text" name="name">
<input type="submit" value="查询">
</form> <%
List<String> info = (List<String>) request.getAttribute("info") ;
if(info != null){ // 有信息返回
Iterator<String> iter = info.iterator() ;
while(iter.hasNext()){
%>
<h4><%=iter.next()%></h4>
<%
}
}
%>
</body>
</html>
package zhbit.servlet ;
import java.io.* ;
import java.util.* ;import javax.servlet.* ;
import javax.servlet.http.* ;
import zhbit.factory.* ;
import zhbit.vo.* ;
public class userServlet extends HttpServlet {
public void doGet(HttpServletRequest req,HttpServletResponse resp) throws ServletException,IOException{
String path = "userInfo.jsp" ;
String name = req.getParameter("name") ;
List<String> info = new ArrayList<String>() ;
try{
List<User> lst2 = DAOFactory.getIUserDAOInstance().findAll();
info.add(
"<table > <tr> <th>用户ID</th><th>用户名</th><th>密码</th></tr><c:forEach items=\"${lst2}\" var=\"lst2\">" +
"<tr> <td>${lst2.userid}</td> <td>${lst2.name}</td> <td>${lst2.password}</td><td> </td> </tr> </c:forEach> </table> ");
req.setAttribute("info",info) ;
req.getRequestDispatcher(path).forward(req,resp) ;
}catch(Exception e){
e.printStackTrace() ;
}
}
public void doPost(HttpServletRequest req,HttpServletResponse resp) throws ServletException,IOException{
this.doGet(req,resp) ;
}
}info.jsp
<%@ page language="java" import="java.util.*" pageEncoding="GBK"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%><html>
<head>
</head>
<body>
<form action="userServlet" method="post" onSubmit="return validate(this)">
用户名:<input type="text" name="name">
<input type="submit" value="查询">
</form> <%
List<String> info = (List<String>) request.getAttribute("info") ;
if(info != null){ // 有信息返回
Iterator<String> iter = info.iterator() ;
while(iter.hasNext()){
%>
<h4><%=iter.next()%></h4>
<%
}
}
%>
</body>
</html>
解决方案 »
- 空指针异常,寻高手纠错!
- 求助一个好原始的问题,别笑啊,谢谢!
- 在java1.6 JComboBox里只有一个元素的时候 为什么选中唯一的元素时ActionListener不响应呢? 如果有2个或2个以上元素选其中任何一个就可
- 中文编码问题。求助
- 看think in java不懂的地方,希望高手解惑
- String类indexOf方法的使用时遇到的问题
- 超菜问题:如何把int类型的数据转换成String类型?
- jdbc_odbc问题
- 我的作业又要做的(图形方面的)
- System.getProperty(String key)的用法
- 新手求大神说下数组问题。把数组中出现奇数次的数输出
- 这是为什么呢,帮看看
package zhbit.servlet ;
import java.io.* ;
import java.util.* ;import javax.servlet.* ;
import javax.servlet.http.* ;
import zhbit.factory.* ;
import zhbit.vo.* ;
public class userServlet extends HttpServlet {
public void doGet(HttpServletRequest req,HttpServletResponse resp) throws ServletException,IOException{
String path = "userInfo.jsp" ;
String name = req.getParameter("name") ;
try{
List<User> lst2 = DAOFactory.getIUserDAOInstance().findAll();
req.setAttribute("info",lst2) ;
req.getRequestDispatcher(path).forward(req,resp) ;
}catch(Exception e){
e.printStackTrace() ;
}
}
public void doPost(HttpServletRequest req,HttpServletResponse resp) throws ServletException,IOException{
this.doGet(req,resp) ;
}
}info.jsp
<%@ page language="java" import="java.util.*" pageEncoding="GBK"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%><html>
<head>
</head>
<body>
<form action="userServlet" method="post" onSubmit="return validate(this)">
用户名:<input type="text" name="name">
<input type="submit" value="查询">
</form>
<table > <tr> <th>用户ID</th><th>用户名</th><th>密码</th></tr>
<%
List<User> info = (List<User>) request.getAttribute("info") ;
if(info != null){ // 有信息返回
Iterator<User> iter = info.iterator() ;
while(iter.hasNext()){
out.println("<tr><td>" + user.getUserid() + "</td><td>" + user.getName() + "</td><td>" + user.getPassword() + "</td></tr>");
%>
</table>
<%
}
}
%>
</body>
</html>不知道你的info和info.jsp是干嘛的,你这样写有点乱.我改了一下你看看行不行。像这种<c:forEach>标签,${lst2.password}这种符号只能在jsp中使用。因为你的jsp代码中已经有java代码了,所以循环我也用的java,没用标签。你再看一看jsp的内容,jsp中完全可以不使用java代码的。
(2)添加新的页面 userInfo.jsp和 userServlet.java(servlet页面)页面
(3)修改IUserDAO、 UserDAOImpl、 UserDAOProxy 类,添加findAll()方法实现查询数据库。
(4)实现根据用户名,显示不同内容。
如果是administrator用户,将用户ID、用户名、密码都显示出来。
如果是非administrator用户,只将用户ID、用户名显示出来。
上面是要求。
我想的是通过servlet就判断出是否administrator用户,并且向JSP返回对应的值。
现在我是建立了两个findAll()查询数据库的方法,在servlet上根据用户名来判断执行那个findAll()方法。
有没有更好的方法去完成。只建立一个findAll(),通过servlet判断并返回不同的值。
首先验证用户名密码对不对,不对跳转回登录页,对了把查出来的对象放到session里,然后调用List<User> lst2 = DAOFactory.getIUserDAOInstance().findAll(); req.setAttribute("info",lst2) ;不用写两个findAll().然后req.getRequestDispatcher("userInfo.jsp").forward(req,resp) ;userInfo.jsp
检查是否已经登录...
<table>
<tr>
<th>用户ID</th><th>用户名</th><c:if test="${sessionScope.user.power == }"> <th>密码</th> </c:if> </tr>
<c:forEach var="user" items="${requestScope.info}">
<td>${user.userid}</td>
<td>${user.name}</td>
<c:if test="${sessionScope.user.power == }">
<td>${user.password}</td>
</c:if>
<tr/>
</c:forEach>
标记红的自己写吧,不知道你的权限是怎么判断的。
将
info.add(
"<table > <tr> <th>用户ID</th><th>用户名</th><th>密码</th></tr><c:forEach items=\"${lst2}\" var=\"lst2\">" +
"<tr> <td>${lst2.userid}</td> <td>${lst2.name}</td> <td>${lst2.password}</td><td> </td> </tr> </c:forEach> </table> ");
req.setAttribute("info",info) ;
修改为
req.setAttribute("listUser ",lst2) ;
jsp页面<table>
<tr>
<th>用户ID</th>
<th>用户名</th>
<th>密码</th>
</tr>
<%
List<User> listUser = (List<User>) request.getAttribute("listUser") ;
if(listUser != null){ // 有信息返回
for(User user : listUser){
%>
<tr>
<th><%=user.getUserId() %></th>
<th><%=user.getName() %></th>
<th><%=user.getPassword() %></th>
</tr>
<%
}
}
%>
</table>