我在自学EE,是个新手,遇到问题了,还是说仔细一点。
主要问题是下面红子部分,各位大侠们,帮帮小弟一把啊;
我用ME做了一个客户端,采用http协议,自己在做一个“小工程”,其工作流程大致如下:
客户端发送数据(发送数据到服务器端的JSP,查询请求,内容是员工ID)--->服务器JSP接收收据(接收到客户端发送过来的查询请求和内容ID)--->(JSP如何将接收到的ID传给Servlet?)--->Servlet得到ID并调用DAO类,得到数据库查询结果--->(Servlet如何将得到的数据返回给JSP呢?我是想通过JSP再把查询出的数据传给客户端的),还是上一点代码吧!
Query.jsp
<%@ page language="java" import="java.util.*" pageEncoding="gbk"%>
<% 
//得到
String strUserPrice=request.getParameter("strUserID");
int intUserPrice=Integer.parseInt(strUserID);


//返回信息,下面该怎么写呢
%>
/////////////////////////////////////////////////////////////////////////
QueryServlet.javapackage servlet;
import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import dao.XXXXDAO;public class QueryServlet extends HttpServlet { public QueryServlet() {
super();
} public void destroy() {
super.destroy(); 

} public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
//得到strUserID
String strUserID= request.getParameter("strUserID");

try {
//解决tomcat中文乱码问题
strUserID= new String(strUserID.getBytes("ISO-8859-1"));

//调用JavaBean查询数据库(Data Access Object DAO)数据访问对象
XXXXDAO DAO = new XXXXDAO();
XXXXDAO.queryByName(strUserID);

//将查询结果返回给Query.jsp中相关参数,这有怎么写呢?


} catch(Exception e) {
e.printStackTrace();
}
} public void init() throws ServletException {

}}
///////////////////
帮帮忙啊~~~~~谢谢

解决方案 »

  1.   

    request.getRequestDispatcher(servlet名称);
      

  2.   

    还有你的客户端可以直接访问servlet的JSP只是servlet的扩展罢了
      

  3.   

    我客户端原先是这样写的
    String strUrl = "http://localhost:9999//QueryService/Query.jsp?strUserID=" + txtf.getString();怎么改为直接访问Servlet呢?
      

  4.   

    jsp你也可以看成是一个servlet。
      

  5.   

    String strUrl = "Servlet名字?strUserID=" + txtf.getString();
    这样,servlet名字是web.xml中配置好的,这样直接请求也是可以的
      

  6.   

    那可以通过JSP将查询到的结果返回给客户端吗?
      

  7.   

    1. 定义个JSP页面query.jsp,即作为 员工ID的输入,又作为员工信息的输出。
        <% Object msg = request.getAttribute("result") == null? "" :request.getAttribute("result"); %>
        <%=msg %>
        <form action="/query" method="post">
        用户名<input type="text" name="strUserID"><br>
        <input type="submit" name="method" value="提交"> 
        </form>
    2. 修改servlet定义
    在“ //将查询结果返回给Query.jsp中相关参数,这有怎么写呢?”位置添加下面语句:
    request.setAttribute("result", XXXXDAO );
    //重新转向到登录页面
    RequestDispatcher rd = req.getRequestDispatcher("/login.jsp");
    rd.forward(req, resp);
    3.  web.xml中添加:
    <servlet>
    <servlet-name>query</servlet-name>
    <servlet-class>QueryServlet</servlet-class>
    </servlet>
    <servlet-mapping>
    <servlet-name>query</servlet-name>
    <url-pattern>/query</url-pattern>
    </servlet-mapping>
    注意:1) JSP文件中用户id提交到 QueryServlet,在web.xml中配置此servlet。
    2)JavaBean 重载toString()方法。