从jsp传递字符串到servlet时获取null

时间:2014-02-12 07:06:25

标签: java jsp servlets

这是我的Jsp文件

<body>
<% 
    URL url = new    
            URL("http://localhost:8080/ServletToCloud/JSPToServletToCloudServlet");
    URLConnection conn =url.openConnection();
            conn.setDoOutput(true);

    BufferedWriter bw= new BufferedWriter( new OutputStreamWriter( 
            conn.getOutputStream() ) );
    bw.write("username= Shanx");
            out.flush();
            out.close();
    %>
</body>

这是我的servlet类

   @SuppressWarnings("serial")
   public class JSPToServletToCloudServlet extends HttpServlet 
   {
    private final static String _USERNAME = "username";
    protected void doGet(HttpServletRequest request, HttpServletResponse response)   
        throws ServletException, IOException 
        {
    PrintWriter out = response.getWriter();
            String username = request.getParameter(_USERNAME);

            response.setContentType("text/html");
            out.println("HelloWorld");
            out.println("Hello " + username);
            out.close();
    }   

这是web.xml文件

  <servlet>
    <servlet-name>JSPToServletToCloud</servlet-name>
    <servlet-class>pack.exp.JSPToServletToCloudServlet</servlet-class>
</servlet>
<servlet-mapping>
    <servlet-name>JSPToServletToCloud</servlet-name>
    <url-pattern>/jsptoservlettocloud</url-pattern>
</servlet-mapping>
<welcome-file-list>
    <welcome-file>index.html</welcome-file>
</welcome-file-list>
 </web-app>

我的Jsp文件位于动态Web应用程序中,并且正在向Web应用程序项目中的Servlet发送一个字符串。我在apache tomcat服务器上运行动态Web应用程序项目,在服务器启动后,我正在运行我的Web应用程序项目作为Web应用程序并检查本地主机并获取null。

帮帮我们。

1 个答案:

答案 0 :(得分:1)

您必须在会话中输入用户名,因为您没有在请求中设置用户名。

将用户名放在会话中并在服务器端写入: -

 HttpSession session = request.getSession();
 String username = session.getAttribute("username")