在jsp页面输入完信息后一提交就进入.do页面(空白页面,url显示的那个do),不能跳转到下一页面。正确的情况应该是forword到另一个jsp.
web.xml:
<?xm version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE web-app
PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.2//EN"
"http://java.sun.com/j2ee/dtds/web-app_2_3.dtd"><web-app xmlns="http://java.sun.com/xml/ns/j2ee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="java.sun.com/xml/ns/j2eeweb-app_2_4.xsd"
version="2.4">
<display-name>Welcome to Tomcat</display-name>
<description>
Forum
</description>
<resource-ref>
<description>SqlServer Datasource </description>
<res-ref-name>jdbc/elaborate</res-ref-name>
<res-type>javax.sql.DataSource</res-type>
<res-auth>Container</res-auth>
</resource-ref><servlet>
<servlet-name>action</servlet-name>
<servlet-class>org.apache.struts.action.ActionServlet</servlet-class>
<init-param>
<param-name>application</param-name>
<param-value>ApplicationResources</param-value>
</init-param>
<init-param>
<param-name>config</param-name>
<param-value>/WEB-INF/struts-config.xml</param-value>
</init-param>
<init-param>
<param-name>debug</param-name>
<param-value>2</param-value>
</init-param>
<init-param>
<param-name>detail</param-name>
<param-value>2</param-value>
</init-param>
<load-on-startup>2</load-on-startup>
</servlet>
<servlet>
<servlet-name>DownloadServlet</servlet-name>
<servlet-class>com.protoss.download.Download</servlet-class>
</servlet>
<servlet>
<servlet-name>DownloadServlet2</servlet-name>
<servlet-class>com.protoss.download.Download2</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>action</servlet-name>
<url-pattern>*.do</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>DownloadServlet</servlet-name>
<url-pattern>/download</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>DownloadServlet2</servlet-name>
<url-pattern>/download2</url-pattern>
</servlet-mapping>
<!--Struts Tag Library Descriptions-->
<taglib>
<taglib-uri>/struts-bean</taglib-uri>
<taglib-location>/WEB-INF/tld/struts-bean.tld</taglib-location>
</taglib>
<taglib>
<taglib-uri>/struts-html</taglib-uri>
<taglib-location>/WEB-INF/tld/struts-html.tld</taglib-location>
</taglib>
<taglib>
<taglib-uri>/struts-logic</taglib-uri>
<taglib-location>/WEB-INF/tld/struts-logic.tld</taglib-location>
</taglib>
<taglib>
<taglib-uri>/struts-nested</taglib-uri>
<taglib-location>/WEB-INF/tld/struts-nested.tld</taglib-location>
</taglib>
<taglib>
<taglib-uri>/struts-tiles</taglib-uri>
<taglib-location>/WEB-INF/tld/struts-tiles.tld</taglib-location>
</taglib>
<taglib>
<taglib-uri>/jstl/c</taglib-uri>
<taglib-location>/WEB-INF/tld/c.tld</taglib-location>
</taglib>
<taglib>
<taglib-uri>/struts-temlpate</taglib-uri>
<taglib-location>/WEB-INF/tld/struts-template.tld</taglib-location>
</taglib>
</web-app>struts-config.xml:
<?xml version="1.0" encoding="ISO-8859-1" ?><!DOCTYPE struts-config PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 1.1//EN"
"http://jakarta.apache.org/struts/dtds/struts-config_1_1.dtd">
<struts-config>
<form-beans>
<form-bean name="newTopicForm" type="com.protoss.forum.NewTopicForm"/>
</form-beans>
<global-forwards>
<forward name="newTopicCreated" path="/viewNewTopic.jsp"/>
</global-forwards>
<action-mappings>
<action path="/createNewTopic"
type="com.protoss.forum.AddNewTopic"
name="newTopicForm"
scope="request"
validate="true"
input="/createNewTopic.jsp">
<forward
name="success"
path="/newTopicCreated.jsp"/>
</action>
</action-mappings>
<message-resources parameter="ApplicationResources"/>
</struts-config>
web.xml:
<?xm version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE web-app
PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.2//EN"
"http://java.sun.com/j2ee/dtds/web-app_2_3.dtd"><web-app xmlns="http://java.sun.com/xml/ns/j2ee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="java.sun.com/xml/ns/j2eeweb-app_2_4.xsd"
version="2.4">
<display-name>Welcome to Tomcat</display-name>
<description>
Forum
</description>
<resource-ref>
<description>SqlServer Datasource </description>
<res-ref-name>jdbc/elaborate</res-ref-name>
<res-type>javax.sql.DataSource</res-type>
<res-auth>Container</res-auth>
</resource-ref><servlet>
<servlet-name>action</servlet-name>
<servlet-class>org.apache.struts.action.ActionServlet</servlet-class>
<init-param>
<param-name>application</param-name>
<param-value>ApplicationResources</param-value>
</init-param>
<init-param>
<param-name>config</param-name>
<param-value>/WEB-INF/struts-config.xml</param-value>
</init-param>
<init-param>
<param-name>debug</param-name>
<param-value>2</param-value>
</init-param>
<init-param>
<param-name>detail</param-name>
<param-value>2</param-value>
</init-param>
<load-on-startup>2</load-on-startup>
</servlet>
<servlet>
<servlet-name>DownloadServlet</servlet-name>
<servlet-class>com.protoss.download.Download</servlet-class>
</servlet>
<servlet>
<servlet-name>DownloadServlet2</servlet-name>
<servlet-class>com.protoss.download.Download2</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>action</servlet-name>
<url-pattern>*.do</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>DownloadServlet</servlet-name>
<url-pattern>/download</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>DownloadServlet2</servlet-name>
<url-pattern>/download2</url-pattern>
</servlet-mapping>
<!--Struts Tag Library Descriptions-->
<taglib>
<taglib-uri>/struts-bean</taglib-uri>
<taglib-location>/WEB-INF/tld/struts-bean.tld</taglib-location>
</taglib>
<taglib>
<taglib-uri>/struts-html</taglib-uri>
<taglib-location>/WEB-INF/tld/struts-html.tld</taglib-location>
</taglib>
<taglib>
<taglib-uri>/struts-logic</taglib-uri>
<taglib-location>/WEB-INF/tld/struts-logic.tld</taglib-location>
</taglib>
<taglib>
<taglib-uri>/struts-nested</taglib-uri>
<taglib-location>/WEB-INF/tld/struts-nested.tld</taglib-location>
</taglib>
<taglib>
<taglib-uri>/struts-tiles</taglib-uri>
<taglib-location>/WEB-INF/tld/struts-tiles.tld</taglib-location>
</taglib>
<taglib>
<taglib-uri>/jstl/c</taglib-uri>
<taglib-location>/WEB-INF/tld/c.tld</taglib-location>
</taglib>
<taglib>
<taglib-uri>/struts-temlpate</taglib-uri>
<taglib-location>/WEB-INF/tld/struts-template.tld</taglib-location>
</taglib>
</web-app>struts-config.xml:
<?xml version="1.0" encoding="ISO-8859-1" ?><!DOCTYPE struts-config PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 1.1//EN"
"http://jakarta.apache.org/struts/dtds/struts-config_1_1.dtd">
<struts-config>
<form-beans>
<form-bean name="newTopicForm" type="com.protoss.forum.NewTopicForm"/>
</form-beans>
<global-forwards>
<forward name="newTopicCreated" path="/viewNewTopic.jsp"/>
</global-forwards>
<action-mappings>
<action path="/createNewTopic"
type="com.protoss.forum.AddNewTopic"
name="newTopicForm"
scope="request"
validate="true"
input="/createNewTopic.jsp">
<forward
name="success"
path="/newTopicCreated.jsp"/>
</action>
</action-mappings>
<message-resources parameter="ApplicationResources"/>
</struts-config>
解决方案 »
- java 的List转化为String的问题,对象组成的list不好转化啊。
- mysql数据库中date类型字段怎么分离年、月、日
- 保存JAVA编写的网页上传到自己空间后出现乱码
- 每日数据库有上百万数据的插入操作?如何处理好并发和线程的同步?
- request.getRequestDispatcher() 的地址可不可以带参数?
- ibatis动态查询问题
- servlet的问题
- 你们谁遇到这个难题:你们谁遇到这个难题:为什么我用jbuider9编写jsp时,当我的jsp文件达到一定数量的时候,改变jsp文件内容重新编译后
- 关于servlet跳转的问题
- struts.xml文件inlude标签通配符的问题!!
- [请教]为什么每次连接人数到了30多人,打开页面就显示报错!打不开了。人少了又可以了
- 求一个字符串抽取的问题
或者你的config配置错误
package com.protoss.forum;
import org.apache.struts.action.*;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
public final class AddNewTopic extends Action { public ActionForward execute(ActionMapping mapping,
ActionForm form,
HttpServletRequest request,
HttpServletResponse response)
throws Exception {
NewTopicBean service = new NewTopicBean();
NewTopic topic = new NewTopic();
NewTopicForm topicForm = (NewTopicForm) form;
topic=topicForm.getNewTopic();
try {
service.addNewTopic(topic);
ActionMessages messages = new ActionMessages();
ActionMessage message = new ActionMessage("message.topic.insert.success",topic.getTitle() );
messages.add( ActionMessages.GLOBAL_MESSAGE, message );
saveMessages( request, messages );
request.setAttribute("topic",topic);
return (mapping.findForward("success"));
}
catch( Exception de ) {
ActionErrors errors = new ActionErrors();
ActionError error = new ActionError("error.topic.databaseException");
errors.add( ActionErrors.GLOBAL_ERROR, error );
saveErrors( request, errors );
return (mapping.findForward("error"));
}
}
}
package com.protoss.forum;
import com.protoss.util.DatabaseConn1;
import java.sql.*;
import javax.sql.*;
import java.io.*;
import java.util.*;
public class NewTopicBean
{
private Connection conn ;
public NewTopicBean()throws Exception
{
this.conn=DatabaseConn1.getConnection();
}
public void addNewTopic(NewTopic topic)throws Exception
{
this.executeHelper("insert into newtopic (FTitle,FContent,FAuthor,FScore,FType) values('"+topic.getTitle()+"','"+topic.getContent()+"',"+topic.getAuthor()+",'"+topic.getScore()+"',"+topic.getType()+")");
}
public Collection getNewTopic()throws Exception
{
return this.getNewTopicHelper("select * from newtopic");
}
public Collection getNoReplyTopic()throws Exception
{
return this.getNewTopicHelper("select * from newtopic where FReply='0'");
}
public void deleteNoReplyTopic(int reply)throws Exception
{
if(reply==0){
try
{
this.executeHelper("delete from newtopic where FReply='"+reply+"'");
}
catch(Exception e)
{
e.printStackTrace();
throw e;
}
}
}
private Collection getNewTopicHelper(String sql)throws Exception
{
Statement stmt=conn.createStatement();
ResultSet rst=stmt.executeQuery(sql);
Collection ret=new ArrayList();
while(rst.next())
{
NewTopic temp=new NewTopic();
temp.setId(rst.getInt("FId"));
temp.setTitle(rst.getString("FTitle"));
temp.setContent(rst.getString("FContent"));
temp.setAuthor(rst.getString("FAuthor"));
temp.setScore(rst.getInt("FScore"));
temp.setType(rst.getString("FType"));
ret.add(temp);
}
return ret;
}
private void executeHelper(String sql)throws Exception
{
Statement stmt=conn.createStatement();
stmt.executeUpdate(sql);
}
}
exception org.apache.jasper.JasperException
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:358)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:301)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:248)
javax.servlet.http.HttpServlet.service(HttpServlet.java:856)
org.apache.struts.action.RequestProcessor.doForward(RequestProcessor.java:1069)
org.apache.struts.action.RequestProcessor.processForwardConfig(RequestProcessor.java:455)
org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:279)
org.apache.struts.action.ActionServlet.process(ActionServlet.java:1482)
org.apache.struts.action.ActionServlet.doGet(ActionServlet.java:507)
javax.servlet.http.HttpServlet.service(HttpServlet.java:743)
javax.servlet.http.HttpServlet.service(HttpServlet.java:856)
root cause java.lang.NullPointerException
org.apache.jsp.error_jsp._jspService(error_jsp.java:55)
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:133)
javax.servlet.http.HttpServlet.service(HttpServlet.java:856)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:311)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:301)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:248)
javax.servlet.http.HttpServlet.service(HttpServlet.java:856)
org.apache.struts.action.RequestProcessor.doForward(RequestProcessor.java:1069)
org.apache.struts.action.RequestProcessor.processForwardConfig(RequestProcessor.java:455)
org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:279)
org.apache.struts.action.ActionServlet.process(ActionServlet.java:1482)
org.apache.struts.action.ActionServlet.doGet(ActionServlet.java:507)
javax.servlet.http.HttpServlet.service(HttpServlet.java:743)
javax.servlet.http.HttpServlet.service(HttpServlet.java:856)这是为什么