如何在Java中访问JSP隐式对象(请求、响应)
如何在Java中传递JSP隐式对象(请求、响应)。 我想访问Java代码中的JSP隐式对象。 请建议如何实现这一点 我的Java代码是:如何在Java中访问JSP隐式对象(请求、响应),java,jsp,servlets,javabeans,el,Java,Jsp,Servlets,Javabeans,El,如何在Java中传递JSP隐式对象(请求、响应)。 我想访问Java代码中的JSP隐式对象。 请建议如何实现这一点 我的Java代码是: package test.here; import java.sql.*; import java.util.*; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import com.ibm.commerce.server
package test.here;
import java.sql.*;
import java.util.*;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import com.ibm.commerce.server.WcsApp;
import com.ibm.commerce.server.JSPHelper;
public class SomeBean {
String punchOutRes = null;
HttpServletResponse response;
HttpServletRequest request;
public String getPunchOutRes() {
response.setContentType("text/xml");
return "testing";
}
}
在这里,当我试图设置或获取请求和响应中的任何内容时,我得到了
NUllPointerException
我认为不可能直接将隐式对象传递给java类,所以可以做的一件事是通过某种方法或java类的构造函数将会话和请求对象从servlet传递给java类
另请参见IMO,我认为不可能将隐式对象直接传递给java类,所以您可以做的一件事是通过某种方法或java类的构造函数将session和request对象从servlet传递给java类
另请参见您将能够使用一些servlet类。 例如:
public class ActionServlet extends HttpServlet
{
public ActionServlet()
{
super();
}
protected void service(HttpServletRequest request, HttpServletResponse response) throws ServletException,IOException
{
request.setCharacterEncoding("UTF-8");
String action = request.getParameter("action");
//do smth. with "action" you are able to use your class "SomeBean"
response.setContentType("text/plain");
response.setCharacterEncoding("UTF-8");
response.sendRedirect(someUrl);
}
}
必须将以下内容添加到web.xml中:
<servlet>
<description></description>
<display-name>ActionServlet</display-name>
<servlet-name>ActionServlet</servlet-name>
<servlet-class>com.your_package.servlet.ActionServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>ActionServlet</servlet-name>
<url-pattern>/Action</url-pattern>
</servlet-mapping>
中心控制器
中心控制器
com.your_package.servlet.ActionServlet
中心控制器
/行动
“/Action”是您的url
我给出了一个简单的例子,我没有考虑GET或POST方法。
我还建议使用JSTL。在“视图”中使用一些涂鸦是糟糕的编码方式:)
但是,最好使用MVC模式(Spring/Struts)。您可以使用一些servlet类。 例如:
public class ActionServlet extends HttpServlet
{
public ActionServlet()
{
super();
}
protected void service(HttpServletRequest request, HttpServletResponse response) throws ServletException,IOException
{
request.setCharacterEncoding("UTF-8");
String action = request.getParameter("action");
//do smth. with "action" you are able to use your class "SomeBean"
response.setContentType("text/plain");
response.setCharacterEncoding("UTF-8");
response.sendRedirect(someUrl);
}
}
必须将以下内容添加到web.xml中:
<servlet>
<description></description>
<display-name>ActionServlet</display-name>
<servlet-name>ActionServlet</servlet-name>
<servlet-class>com.your_package.servlet.ActionServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>ActionServlet</servlet-name>
<url-pattern>/Action</url-pattern>
</servlet-mapping>
中心控制器
中心控制器
com.your_package.servlet.ActionServlet
中心控制器
/行动
“/Action”是您的url
我给出了一个简单的例子,我没有考虑GET或POST方法。
我还建议使用JSTL。在“视图”中使用一些涂鸦是糟糕的编码方式:)
但是,最好使用MVC模式(Spring/Struts)。您可以使用
将对象传递给bean。您可以使用将对象传递给bean。为什么您希望在java bean中访问这些对象,而且无论如何,您已经可以访问servlet中的隐式对象。您可以用Javabean编写业务逻辑,并在servlet中访问该bean,但我不想在servlet中访问。如果您想访问JSP的隐式对象,您可以通过servlet进行访问,并将其作为参数传递给普通java方法。但是我不建议使用这种方法,因为你是在为小事情传递大对象。为什么你想在JavaBean中访问这些对象,而不管怎样,你已经在servlet中访问了隐式对象。您可以用Javabean编写业务逻辑,并在servlet中访问该bean,但我不想在servlet中访问。如果您想访问JSP的隐式对象,您可以通过servlet进行访问,并将其作为参数传递给普通java方法。但我不建议使用这种方法,因为你是在为小事传递更大的对象。