这是我的 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。
大家帮帮我。
最佳答案
您必须在 session 中输入用户名,因为您没有在请求中设置用户名。
将用户名放入 session 中并在服务器端写入:-
HttpSession session = request.getSession();
String username = session.getAttribute("username")
关于java - 将字符串从 jsp 传递到 servlet 时获取 null,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21720952/