栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

J2EE/JAVA——HTMLform表单中action的‘/’路径问题

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

J2EE/JAVA——HTMLform表单中action的‘/’路径问题

1.HTML中的form表单简单介绍

HTML中的form表单在JAVA企业级开发中拥有十分重要的地位,HTML表单用于收集用户输入的信息,并将收集到的用户信息发送到web服务器中。在初级阶段,form表单常常使用在设计用户登录、用户反馈和用户选择上。

下面是一个基于form表单的一个简单登录系统:



    
        
        
            一个简单登录系统
        
    
    
        
Username:
Password:

2.HTML表单中的action用法

        在HTML表单中可以在form表单后添加一个action属性,action属性的值是表单提交给的url,当HTML表单提交信息后,提交的信息就会交给action的属性值,不填action或者填为action="",那么表单就会默认提交到当前页面。

下面是一个使用到action属性的登录系统例子:

Servlet代码:

public class LoginServlet extends HttpServlet {

	protected void doGet(HttpServletRequest request, HttpServletResponse response) 
			throws ServletException, IOException {
		
        String username = request.getParameter("username"); 
        String password = request.getParameter("password");         
        
        System.out.println("username = " + username ); 
        System.out.println("password = " + password ); 
        
        response.setContentType("text/html"); 
        response.getWriter().println("Login Success!"); 
	}

	protected void doPost(HttpServletRequest request, HttpServletResponse response) 
			throws ServletException, IOException {
		doGet(request, response);
	}
}

HTML源码:





Login


	
	
用户名:
密 码:

浏览器演示效果: 

 

当我们输入数据,然后点击登录在编译器的控制台中就会显示我们刚刚输入的数据,并且浏览器就会跳转到登录成功页面。

 3.form表单action的属性值填写中路劲问题

        首先action需要能成功执行,需要action属性的值在对应的路径下能够找到,这就需要正确理解路径的写法。我们先理解路径中‘/’的具体意义。

        一般情况,在服务器端看,/就是项目的根目录。如http://127.0.0.1:8080/Test/,Test后的/就是指的根目录。

        从客户端看,/指的是服务器的虚拟跟目录webapps,如http://127.0.0.1:8080/,8080后的/就是虚拟跟目录。

        在action路径书写中,./代表的就是本级目录,../代表的就是上一级目录。

例如在上一个例子中:





Login


	
	
用户名:
密 码:

 action="login",这里不没有加/意思也是在本级目录中去找。而找的对象则是在web.xml文件中:



  
    MyServlet
    servlet.LoginServlet
  
  
    MyServlet
    /login
  

值得注意的是,在web.xml文件中用的是/login,在form表单中应该为login。

又因为直接写login,就是在本级目录中找,所以action中login换为./login也可以。

但是不能换为/login,因为换为/login那么就会在html所在目录的根目录下去寻找,就找不到web.xml文件了。

 

直接写/login会在webapp目录下找,无法找到web.xml文件。

同理当html文件在web.xml文件下一级目录中,那么久需要改为../了。

例子:

 

 

 

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/850907.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号