1、使用tomcat6构建一个webapp应用程序:创建一个Servlet,完成以下工作:
      a)doPost方法从请求中取出参数who的值,并将值放到session中,同时向客户端输出“ok”;
      b)doGet方法从session中取出who的值,并向客户端输出“who=??”,如果session中who未被设置则输出“who value not found.”。
2、编写一个Socket通讯程序,向已经创建的servlet的post方法传入 who的值,值由控制台输入,接 收servlet的响应输出到控制台。
3、编写一个Socket通讯程序,从已经创建的servlet的get方法中取得post设置的值,并将响应输出到控制台。所有程序完成后场景:
1、webapp(1)应用启动;
2、Socket(2)程序post控制台获取的值到webapp;
3、Socket(3)程序get webapp session中缓存的值。

解决方案 »

  1.   

    在tomcat安装目录的webapps文件夹下创建一个文件夹mySocket,这就是将要存放你的web页面和servlet的地方。在myApp下再创建一个WEB-INF文件夹,里面存放一些配置文件,如web.xml
    web.xml代码:
    <?xml version="1.0" encoding="utf-8"?>
    <!DOCTYPE web-app PUBLIC "-//Sun Microsystems,Inc.//
      DTD Web Application 2.3//EN" "http://java.sun.com/dtd/web-app_2_3.dtd">
    <web-app>
     <servlet>
      <servlet-name>showservlet</servlet-name>
      <servlet-class>index.showServlet</servlet-class>
     </servlet>
     
     <servlet-mapping>
      <servlet-name>showservlet</servlet-name>
      <url-pattern>/showservlet</url-pattern>
     </servlet-mapping>
    </web-app>
    目录
    mySocket/
    |......WEB-INF/
          |......web.xml
          |......lib/
          |......classess/
      

  2.   

    http://blog.csdn.net/a9529lty/article/details/7174265
      

  3.   

    我的问题是第二次请求时,使用第一次的session
      

  4.   

    http://www.cnblogs.com/biGpython/archive/2011/11/02/2232673.html
      

  5.   

    你的问题不明白,到底是Socket通讯程序去提交请求,怎么有二次请求?
      

  6.   

    这个是servlet
    把socket嵌入进去
    import java.io.*;
    import java.net.InetAddress;
    import java.net.Socket;
    import java.util.Scanner;import javax.servlet.*;
    import javax.servlet.http.*;public class ShowServlet extends HttpServlet{
    public void init() throws ServletException{
    ServletConfig config=getServletConfig();
    }

    public void doPost(HttpServletRequest request,HttpServletResponse response) throws ServletException,IOException{
    String who = request.getParameter("who");
    request.getSession().setAttribute("who", who);
    System.out.println("OK");
    }
    public void doGet(HttpServletRequest request,HttpServletResponse response) throws ServletException,IOException{
    String who = request.getSession().getAttribute("who").toString();
    if (null != who) {
    System.out.println("who="+who);
    } else {
    System.out.println("who value not found.");
    }
    }
    }
      

  7.   

    题目的意图是想你用Servlet写一个http报文发送过去吧!
      

  8.   

    有两个socket程序,第一次向servlet发送post请求,第二次向servlet发送get请求,怎么让两次请求的session相同?
      

  9.   

    我的servlet就是这样写的,但是socket两次请求的session不一样,get请求不能得到post设置的who值
      

  10.   

    贴你的servlet的代码让大家看看