jsp 表单提交,request.getRequestDispatcher方法 及 response.sendRedirect 路径问题

在jsp页面中,等提交表单数据时,最好用觉得路径。

写法如下:

<form action ="<%=request.getContextPath()%>/do_login.jsp" method="post">

其中 request.getContextPath() 方法是取得当前项目的根目录位置。

这种用法叫做 “绝对路径” 使用绝对路径的好处是不太容易出错。缺点是目标路径字符串容易写的很长(如果目录层数过深的话)。如果使用相对路径,有时路径中免不了出现(..)上层目录,(../..)上层目录的上层目录这种写法。

这种写法容易引起逻辑上的混乱,如 :<form action ="../do/do_login.jsp" method="post">

当点号出现一次两次时还是可以接受的。但如果目录的层数过深,那这种写法就容易引起逻辑的混乱。

同理,在使用  response.sendRedirect() 方法实现客户端跳转时,也建议使用绝对路径。

但是当使用  request.getRequestDispatcher()方法实现服务器端跳转时,情况有些许的不同。这个方法使用的是相对路径。

但是我们同样也是可以使用觉得路径的。如:request.getRequestDispatcher("/result/success.jsp");

整个字符串的最前面的 ”/“ 就代表了项目的绝对路径。接着我们就可以用统一的 ”绝对路径写法“来实现跳转了。

还有一个就是servlet在web.xml文件中进行映射时使用的 <url-pattern> 进行逻辑地址映射是,也要使用绝对路径。

如 :<url-pattern>/login.do</url-pattern>

jsp 表单提交,request.getRequestDispatcher方法 及 response.sendRedirect 路径问题

时间: 2024-10-26 03:48:47

jsp 表单提交,request.getRequestDispatcher方法 及 response.sendRedirect 路径问题的相关文章

struts2 jsp表单提交后保留表单中输入框中的值 下拉框select与input

原文地址:struts2 jsp表单提交后保留表单中输入框中的值 下拉框select与input jsp页面 1     function dosearch() {2         if ($("#textValue").val() == "") {3                 $("#errortip").html("<font color='#FF0000'>请输入查询内容</font>")

JSP表单提交中文乱码

简要笔记:由于jsp默认表单提交编码方式是:ISO-8859-1,而我们需要的是utf-8或者是gbk码,故需要转化. 具体方法是:在表单处理文件中,将获取到的变量进行转换. String userName = request.getParameter("userName"); String password = request.getParameter("password"); out.println("表单输入userName的值:" + n

JSP表单提交中文乱码解决方案

分2种提交方式,解决方案不同: 1.form表单提交方式为get 乱码: 解决方案: 第1种方法:tomcat-config-sever.xml 第2种方法: <% String username = request.getParameter("username"); String name = new String(username.getBytes("ios-8859-1"),"utf-8"); String password = re

JSP表单提交出现中文乱码的解决方法

1)post方式 在servlet的doGet( )  doPost( )  中增加以下代码: response.setContentType("text/html;charset=utf-8"); request.setCharacterEncoding("utf-8"); 2)get方式 在tomcat中con/server.xml中修改 <Connector port="8088" protocol="HTTP/1.1&qu

Struts2 表单提交与execute()方法的结合使用

1.创建web项目,添加struts2支持的类库,在web.xml中配置struts2过滤器. 2.创建名为UserAction的Action对象,并在其中编写execute()方法,代码如下所示: package com.wh.Demo; import com.opensymphony.xwork2.ActionSupport; public class UserAction extends ActionSupport { private String info; public String

Struts2中的链接标签 &lt;s:url&gt;和&lt;s:a&gt;---在action中获取jsp表单提交的参数(转)

转自:http://sgl124764903.iteye.com/blog/444183 1.普通链接 Web程序中最普通的应用是链接到其他页面,下面看Welcome.jsp. <%@ page contentType="text/html; charset=UTF-8" %> <%@ taglib prefix="s" uri="/struts-tags" %> <html> <head>    

关于JSP里面的表单提交

JSP表单提交 我们都知道表单提交大致可分为两类:一类是通过提交按钮submit直接提交表单,也可以通过JS或Jquery利用选择器找到那个需要提交的form表单,如$("#loginForm").submit():还有一种就是通过ajax异步提交,如: $(function(){ $("#saveBtn").click(function{ var uname = $("#username").val(); var pwd = $("#

Struts2表单提交的中文字符数据用hibernate存储在数据库中是乱码的问题。

1.先检查中文字符出现乱码的位置,于是就在action中用printf方法打印表单提交的中文数据到控制台,发现是乱码. 2.于是问题就转换成了先解决jsp表单提交的中文数据到action中出现乱码的问题, 3.百度了一下,发现是因为我的struts.xml文件建立的时候直接在网上copy的模板,encoding属性设置的是UTF-8我忽略了,而我jsp的encoding属性设置的是gbk,导致两者不一致(因为之前入门的时候教程里面讲的就是gbk方式,于是我也沿用了这种方式.)我eclipse的文

JSP怎么将表单提交到对应的servlet

昨天学习了这些内容,今天做一下分享吧,个人感觉挺乱的....呵呵,其实没事,慢慢就好了.难的不会,会的不难嘛!努力+认真就可以了,相信大家都可以的!加油!!! 下面的图是我用myeclipse建立的项目的目录. 目录结构有点多哈...没事其实很简单的! 下面是我的index.jsp中的全部代码:这里只是有一个表单,提交到TestServlet.java这个servlet中 ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 <%@