抛出此方法
java.lang.IllegalStateException:在提交响应后无法转发
我无法发现问题.有帮助吗?
int noOfRows = Integer.parseInt(request.getParameter("noOfRows"));
String chkboxVal = "";
// String FormatId=null;
Vector vRow = new Vector();
Vector vRow1 = new Vector();
String GroupId = "";
String GroupDesc = "";
for (int i = 0; i < noOfRows; i++) {
if ((request.getParameter("chk_select" + i)) == null) {
chkboxVal = "notticked";
} else {
chkboxVal = request.getParameter("chk_select" + i);
if (chkboxVal.equals("ticked")) {
fwdurl = "true";
Statement st1 = con.createStatement();
GroupId = request.getParameter("GroupId" + i);
GroupDesc = request.getParameter("GroupDesc" + i); …Run Code Online (Sandbox Code Playgroud) servlets response forward illegalstateexception requestdispatcher
我试图从HttpServletRequest对象获取整个身体.
我关注的代码如下所示:
if ( request.getMethod().equals("POST") )
{
StringBuffer sb = new StringBuffer();
BufferedReader bufferedReader = null;
String content = "";
try {
//InputStream inputStream = request.getInputStream();
//inputStream.available();
//if (inputStream != null) {
bufferedReader = request.getReader() ; //new BufferedReader(new InputStreamReader(inputStream));
char[] charBuffer = new char[128];
int bytesRead;
while ( (bytesRead = bufferedReader.read(charBuffer)) != -1 ) {
sb.append(charBuffer, 0, bytesRead);
}
//} else {
// sb.append("");
//}
} catch (IOException ex) {
throw ex;
} finally {
if (bufferedReader != null) { …Run Code Online (Sandbox Code Playgroud) 我正在推出符合Servlet 2.5的J2EE代码,我想知道2.5和3之间的主要区别是什么.官方Sun文档和个人经历的指针非常受欢迎.
如果我不应该暂时关注自己3,那就这么说吧.谢谢!
是否有多个servlet类实例?当我听到"servlet的每个实例"时,任何人都可以详细说明吗?
我的文件WebContent/jsps夹中的JSP文件中有一个HTML表单.我servlet.java在src文件夹中的默认包中有一个servlet类.在我web.xml的映射为/servlet.
我action在HTML表单的属性中尝试了几个URL :
<form action="/servlet">
Run Code Online (Sandbox Code Playgroud)
<form action="/servlet.java">
Run Code Online (Sandbox Code Playgroud)
<form action="/src/servlet.java">
Run Code Online (Sandbox Code Playgroud)
<form action="../servlet.java">
Run Code Online (Sandbox Code Playgroud)
但这些都不起作用.他们都在Tomcat 6/7/8中继续返回如下所示的HTTP 404错误:
HTTP状态404 - /servlet
描述:请求的资源(/ servlet)不可用.
或者如下面的Tomcat 8.5/9:
HTTP状态404 - 未找到
消息:/ servlet
描述:源服务器没有找到目标资源的当前表示,或者不愿意透露存在该资源
为什么不起作用?
我正在编写一个部署在Tomcat上的Spring MVC应用程序.请参阅以下最小,完整且可验证的示例
public class Application extends AbstractAnnotationConfigDispatcherServletInitializer {
protected Class<?>[] getRootConfigClasses() {
return new Class<?>[] { };
}
protected Class<?>[] getServletConfigClasses() {
return new Class<?>[] { SpringServletConfig.class };
}
protected String[] getServletMappings() {
return new String[] { "/*" };
}
}
Run Code Online (Sandbox Code Playgroud)
哪里SpringServletConfig是
@Configuration
@ComponentScan("com.example.controllers")
@EnableWebMvc
public class SpringServletConfig {
@Bean
public InternalResourceViewResolver resolver() {
InternalResourceViewResolver vr = new InternalResourceViewResolver();
vr.setPrefix("/WEB-INF/jsps/");
vr.setSuffix(".jsp");
return vr;
}
}
Run Code Online (Sandbox Code Playgroud)
最后,我有一个@Controller包com.example.controllers
@Controller
public class ExampleController {
@RequestMapping(path = "/home", …Run Code Online (Sandbox Code Playgroud) 我在eclipse helios中有这个错误:
执行命令行时发生异常.无法运行程序"C:\ Program Files(x86)\ Java\jre6\bin\javaw.exe"(在目录"C:\ Users\motiver\helios_workspace\TimeTracker"中):CreateProcess error = 206,文件名或扩展名为太长
我研究了一下,但在使用Google App Engine时,大多数问题都与DataNucleus有关.但我没有使用与Google App Engine远程相关的任何内容.我正在使用JBOSS 6上的Servlet 3.0进行一个小项目.我正在使用Hibernate 4.1.2 for ORM和RESTEasy来公开Web服务.我创建了一个util文件,它有一个main()方法,基本上删除并重新创建模式.当我需要一个干净的数据库用于测试目的时,我运行main()方法.它在Tomcat 7上运行良好,但当我转移到JBoss 6时它停止工作.
任何提示或解决方案将不胜感激.
当我将servlet转发到JSP时,我在加载CSS和图像以及创建指向其他页面的链接方面遇到了麻烦.具体而言,当我把我的<welcome-file>给index.jsp的CSS被加载并正在显示我的图片.但是,如果我将我设置<welcome-file>为HomeServlet哪个转发控制index.jsp,则不应用CSS并且不显示我的图像.
我的CSS文件在web/styles/default.css.
我的照片在web/images/.
我像这样链接到我的CSS:
<link href="styles/default.css" rel="stylesheet" type="text/css" />
Run Code Online (Sandbox Code Playgroud)
我正在显示我的图像如下:
<img src="images/image1.png" alt="Image1" />
Run Code Online (Sandbox Code Playgroud)
这个问题是怎么造成的,怎么解决?
更新1:我添加了应用程序的结构,以及其他一些可能有用的信息.

该header.jsp文件是包含CSS链接标记的文件.该HomeServlet设置为我welcome-file在web.xml:
<welcome-file-list>
<welcome-file>HomeServlet</welcome-file>
</welcome-file-list>
Run Code Online (Sandbox Code Playgroud)
servlet被声明并映射为web.xml:
<servlet>
<servlet-name>HomeServlet</servlet-name>
<servlet-class>com.brianblog.frontend.HomeServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>HomeServlet</servlet-name>
<url-pattern>/</url-pattern>
</servlet-mapping>
Run Code Online (Sandbox Code Playgroud)
更新2:我最终发现了问题 - 我的servlet映射不正确.显然当设置一个Servlet时,<welcome-file>它不能有一个URL模式/,我觉得有点奇怪,因为它不代表网站的根目录?
新映射如下:
<servlet-mapping>
<servlet-name>HomeServlet</servlet-name>
<url-pattern>/HomeServlet</url-pattern>
</servlet-mapping>
Run Code Online (Sandbox Code Playgroud) 我正在尝试访问Java Servlet过滤器中的两个http请求参数,这里没什么新东西,但是很惊讶地发现参数已经被消耗了!因此,它在过滤器链中不再可用.
似乎只有在参数进入POST请求主体(例如表单提交)时才会出现这种情况.
有没有办法读取参数而不消耗它们?
到目前为止,我只找到了这个引用:使用request.getParameter的Servlet过滤器丢失了Form数据.
谢谢!