先看代码:一个html <form action="aaa" method="get">
请输入参数:<input type="text" name="ref">
<input type="submit" value="tijiao">
</form>一个servletpublic void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException { String a=request.getParameter("ref");
System.out.println(a);
System.out.println("**************");
}
web.xml文件
<servlet>
<servlet-name>Test</servlet-name>
<servlet-class>com.ser.Test</servlet-class>
</servlet> <servlet-mapping>
<servlet-name>Test</servlet-name>
<url-pattern>/demo/MyHtml</url-pattern>
</servlet-mapping>
我的问题是:
html提交请求,然后找到相应的servlet处理请求,这一步结果出来了,而<form action="aaa" method="get">中的action有什么作用,我把它的值改成别的都行,可是刚才看教材说不能随便改,我问的是这个action与servlet有什么关系,action要写成html的文件名吗?action通俗点说它是干什么的?谢谢各位了!
请输入参数:<input type="text" name="ref">
<input type="submit" value="tijiao">
</form>一个servletpublic void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException { String a=request.getParameter("ref");
System.out.println(a);
System.out.println("**************");
}
web.xml文件
<servlet>
<servlet-name>Test</servlet-name>
<servlet-class>com.ser.Test</servlet-class>
</servlet> <servlet-mapping>
<servlet-name>Test</servlet-name>
<url-pattern>/demo/MyHtml</url-pattern>
</servlet-mapping>
我的问题是:
html提交请求,然后找到相应的servlet处理请求,这一步结果出来了,而<form action="aaa" method="get">中的action有什么作用,我把它的值改成别的都行,可是刚才看教材说不能随便改,我问的是这个action与servlet有什么关系,action要写成html的文件名吗?action通俗点说它是干什么的?谢谢各位了!
<servlet-name>Test</servlet-name>
<url-pattern>/demo/MyHtml</url-pattern>
</servlet-mapping>
action=demo/MyHtml注意:没有/action 表示接受表单的后台文件(你的java类)
这个html里有个action,它后面没有页面,为什么写什么都行,我还是不是很明白你的意思....
action用来处理jsp或html提交的请求。
Action可以是一个JSP,html文件,也可以是servlet或者Struts2里面的Action
在你的例子里Action应该就是要处理的servlet吧,也就是你的xml文件里配置的映射路径
<url-pattern>/demo/MyHtml</url-pattern>
所以当你的Action值为demo/MyHtml这个的时候,提交表单后就会根据xml文件找到这个路径,然后找到你的servlet(Test),继而根据servlet找到对应的类(com.ser.Test),然后调用这个servlet类的dopost,或者doget方法
你把action中内容修改成其他的后,要在前台刷新你的界面(最好用察看源代码看看form里面的action是不是你修改完的那个).这样提交你就会出404错误了
<form action="demo/MyHtml" method="get">
请输入参数:<input type="text" name="ref">
<input type="submit" value="tijiao">
</form>
这样改就OK了
调用是这样的先通过<url-pattern>找到Demo/myHtml这个虚拟目录,然后就知道有text这个类名,在通过这个类名<servlet-name>,找到实际类地址<servlet-class>,然后就调用text这个类