今天遇到了一个jsp与Servlet传值的问题,通过查资料解决了。下面和大家来分享一下。 例子一 index.jsp相关代码如下 Servlet相关代码如下 list.jsp相关代码如下 解释例子一 上面的例子...
今天遇到了一个jsp与Servlet传值的问题,通过查资料解决了。下面和大家来分享一下。

例子一

index.jsp相关代码如下
Servlet相关代码如下
list.jsp相关代码如下

解释例子一

上面的例子一描述的时index.jsp通过超链接向Servlet中传去borderid的值。 再在Servlet中通过请求转发(注意只能通过请求转发,因为重定向会再创建一个request对象,而请求转发会将当前的request的值传给下一个页面)将Servlet中的borderid的值传递给list.jsp。
原因是从index.jsp跳转到Servlet时会将传去的值存发在request对象里面。Servlet获取值之后通过请求转发跳转到list.jsp界面中。注意从index.jsp跳转到Servlet,再从Servlet跳转到list.jsp界面。请求对象只创建了一次(是在index.jsp访问Servlet时创建的)。因此request对象中的值一直存在。

例子二

detail.jsp相关代码如下
post2.jsp相关代码如下
Servlet相关代码如下
解释例子二
上面的例子二描述的是detail.jsp通过超链接向post2.jsp传去title和topicid的值,在通过post2.jsp的超链接向Servlet传去title和topicid的值。(结果保证在Servlet中无法获取到detail.jsp中topicid的值)
原因:当detail.jsp通过超链接向post2.jsp时会向post2.jsp发出一次请求,会将传去title和topicid的值存储在request对象中。当post2.jsp的超链接向Servlet时又会创建一个request对象,所以将原先title和topicid的值抹去。所以Servlet无法获取到detail.jsp中title和topicid的值。
解决方法
只要在post2.jsp跳转到Servlet时带上title和topicid的值
解决图片如下
请求对象啥时会被创建
一般来说当你发生界面跳转时就会被创建,就是当web客户端向Servlet发出请求时或者Servlet通过重定向技术实现跳转时。除了运用请求转发会保留原先的request。
servlet2.5jsp跳转到servlet出现404错误解决办法: 当在工程下的WebContent文件夹下再新建文件夹,在该新建文件夹...但是直接在WebContent文件夹下新建jsp,该jsp跳转到servlet的路径可以直接写该servlet名。 ...
servlet2.5 jsp跳转到servlet出现404错误解决办法:
当在工程下的WebContent文件夹下再新建文件夹,在该新建文件夹中jsp连接servlet要用/工程名/该jsp要跳转到的servlet名,不然会找不到servlet。但是直接在WebContent文件夹下新建jsp,该jsp跳转到servlet的路径可以直接写该servlet名。
折腾了一天,终于弄好,结果很扎心。 建立一个空白的JavaWeb项目后,建立...@WebServlet(name = "Servlet") public classServlet extends HttpServlet { protected void doPost(HttpServletRequest request, HttpS...
折腾了一天,终于弄好,结果很扎心。
建立一个空白的JavaWeb项目后,建立在src中建立一个Servlet。
IDEA默认生成代码↓
@WebServlet(name="Servlet")publicclassServletextendsHttpServlet{protectedvoiddoPost(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException{}protectedvoiddoGet(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException{}}
Jsp中的内容之后一个跳转的submit