在form的action中直接写在webxml中配置的的名字。例如:AdminLogincomjavaservletAdminLogin22AdminLogin/AdminLogin在form的action中就直接写AdminLogin就行了。
<form method="post" action<"">
想把这个表单中的action提交到自己创建的java程序包中,该怎么访问呀?
comjavaservletAdminLoginjava
这个表单是在WebRoot项目中的
就是在url-pattern中加了/Member才成功,望大家有所借鉴!但还是不知 servlet 容器的匹配机制,望大家给小弟一个指引啊。
JSP(全称JavaServer Pages)是由Sun Microsystems公司倡导和许多公司参与共同创建的一种使软件开发者可以响应客户端请求,而动态生成HTML、XML或其他格式文档的Web网页的技术标准。JSP技术是以Java语言作为脚本语言的,JSP网页为整个服务器端的Java库单元提供了一个接口来服务于>webxml配置servlet,然后在用配置的名访问
<servlet>
<servlet-name>ok</servlet-name>
<servlet-class>comjavaservletAdminLogin</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>ok</servlet-name>
<url-pattern>/action</url-pattern>
</servlet-mapping>
<form method="post" action="action">
问了回答你的问题,我还特意打开了我的myeclipse65。给你一个完整的例子
要做成一个完整的servlet的例子,做以下几个事
1、新建JSP文件(访问servlet的),我这里是indexjsp
2、新建java类(servlet),我这里是MyServletjava
3、在webxml配置servlet
下面给出完整代码
1、indexjsp (可以把我的代码自己拷贝到你机器运行,拷贝到的目录没有要求)
<%@ page language="java" import="javautil" pageEncoding="ISO-8859-1"%>
<%
String path = requestgetContextPath();
String basePath = requestgetScheme()+"://"+requestgetServerName()+":"+requestgetServerPort()+path+"/";
%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 401 Transitional//EN">
<html>
<head>
<base href="<%=basePath%>">
<title>My JSP 'indexjsp' starting page</title>
<meta >
<meta >
<meta >
<meta >
<meta >
<!--
<link rel="stylesheet" type="text/css" href="stylescss">
-->
</head>
<body>
<form action="servletUrl">
<input type="text" name="yyf"/>
<input type="submit" value="submit"/>
</form>
</body>
</html>
2、MyServletjava,代码如下(现在你的src目录下建一个test包,然后这个类放到这个包下面)
package test;
import javaioIOException;
import javaioPrintWriter;
import javaxservletServletException;
import javaxservlet>
import javaxservlet>
import javaxservlet>
public class MyServlet extends >
public void doGet(>
throws ServletException, IOException {
responsesetContentType("text/html");
PrintWriter out = responsegetWriter();
Systemoutprintln("this is doGet");
outprintln("<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 401 Transitional//EN\">");
outprintln("<HTML>");
outprintln(" <HEAD><TITLE>A Servlet</TITLE></HEAD>");
outprintln(" <BODY>");
outprint(" This is ");
outprint(thisgetClass());
outprintln(", using the GET method");
outprintln(" </BODY>");
outprintln("</HTML>");
outflush();
outclose();
}
public void doPost(>
throws ServletException, IOException {
responsesetContentType("text/html");
PrintWriter out = responsegetWriter();
Systemoutprintln("this is doPost");
outprintln("<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 401 Transitional//EN\">");
outprintln("<HTML>");
outprintln(" <HEAD><TITLE>A Servlet</TITLE></HEAD>");
outprintln(" <BODY>");
outprint(" This is ");
outprint(thisgetClass());
outprintln(", using the POST method");
outprintln(" </BODY>");
outprintln("</HTML>");
outflush();
outclose();
}
public void init() throws ServletException {
}
public MyServlet() {
super();
}
public void destroy() {
superdestroy(); // Just puts "destroy" string in log
// Put your code here
}
}
3、webxml配置(这里把握整个webxml代码放到这里,你可以看的更清楚)
<xml version="10" encoding="UTF-8">
<web-app version="25"
xmlns=">
xmlns:xsi=">
xsi:schemaLocation=">
>
<servlet>
<servlet-name>MyServlet</servlet-name>
<servlet-class>testMyServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>MyServlet</servlet-name>
<url-pattern>/servletUrl</url-pattern>
</servlet-mapping>
<welcome-file-list>
<welcome-file>indexjsp</welcome-file>
</welcome-file-list>
</web-app>
对于indexjsp访问MyServletjava的解释:
在表单中,当你点击提交按钮,触发这个链接action="servletUrl"。请求到达服务器tomcat后,tomcat检查当前项目的webxml中所有的<servlet-mapping></servlet-mapping>
配置中的<url-pattern></url-pattern>的属性值。看当中有没有一个和请求地址servletUrl相同。结果找到如,如下:
<servlet-mapping>
<servlet-name>MyServlet</servlet-name>
<url-pattern>/servletUrl</url-pattern>
</servlet-mapping>
其中 <url-pattern>/servletUrl</url-pattern> 是你表单的访问地址
然后,tomcat根据上面的<servlet-name>MyServlet</servlet-name>找到和
<servlet-mapping>相对应的<servlet>配置如下
<servlet>
<servlet-name>MyServlet</servlet-name>
<servlet-class>testMyServlet</servlet-class>
</servlet>
然后根据当中 <servlet-class>找到MyServletjava文件的地址。
如果看了上面的文字还不是很理解,给你做个图:
那加载的时候就直接加载servlet不可以么?还有种办法就是在jsp中根据条件判断,跳转到servlet比如判断 requestgetAttribute("abc")有没有值,没有就跳转到servlet在servlet中保存一个变量requestsetAttribute("abc","abc");就可以了jsp中<input type="file" name="myImage"/>选择文件后
<input type="submit" value="提交"/>
通过表单传递给Servlet中
Java中
设置变量
private File myImage; //选中的文件
private String myImageFileName; //对应的文件名
private String myImageContentType; //文件类型
还要有相应的get和set方法;
FileUtil是Java中的一个类,它底下有相应的方法可以复制文件到指定文件夹等。这个可以搜一下写个form表单
不是有个name吗 选择哪个就传递哪个参数
在form里面action对应的Servlet里面利用
String level= requestgetParameter("level");
然后if(levelequals("VIP")){
}
判断 就可以了
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)