tomcat配置完成后,学习servlet,学习子传智播客---韩顺平老师(韩老师讲课给一万个赞哈哈)
先截了几个屏,看看几个目录下要建的文件夹和文件:
1
2
3
4
5
这里再贴上代码:
一:web.xml中的代码:
<?xml version="1.0" encoding="ISO-8859-1"?>
<web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee
http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd"
version="3.1"
metadata-complete="true">
<display-name>Welcome to Tomcat</display-name>
<description>
Welcome to Tomcat
</description>
<!--login-->
<servlet>
<servlet-name>login</servlet-name>
<servlet-class>com.zhu.servlet.Login</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>login</servlet-name>
<url-pattern>/login</url-pattern>
</servlet-mapping>
</web-app>
二:Login.java的代码
package com.zhu.servlet;
import java.io.IOException;
import java.io.PrintWriter;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
public class Login extends HttpServlet {
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp) {
resp.setContentType("text/html;charset=gbk");
PrintWriter pw;
try {
pw = resp.getWriter();
pw.println("<html>");
pw.println("<body>");
pw.println("<h1>登陆界面</h1>");
pw.println("<form action=??? method=post>");
pw.println("用户名:<input type=text name=username><br>");
pw.println("密码:<input type=password name=passwd><br>");
pw.println("<input type=submit value=login><br>");
pw.println("</body>");
pw.println("</html>");
} catch (IOException e) {
System.out.println("出错");
e.printStackTrace();
}
}
@Override
protected void doPost(HttpServletRequest req, HttpServletResponse resp) {
this.doGet(req, resp);
}
}
注意:
1.你可以在eclipse中运行,但从最后一幅图(图5)中可以看出,放的不是java文件,而是class文件。所以在eclipse写完代码后,你ctrl+s保存。从项目的bin目录下找到class文件,复制到tomcat的classes后面的文件夹中。
2.在图4中,你看到的classes目录下面还有好多个目录,为什么要这些目录呢?因为你在Login.java文件中的
package com.zhu.servlet;
3.Login中的pw.println("<form action=??? method=post>");中的三个问好这个地方写的是你这个表单提交的url,一般提交给一个用来验证的url。另写一个java文件,(同时在web.xml中加一组”注意4“中讲到的代码,其中会产生一个url),用来验证表单内容是否正确,如果正确,跳转到欢迎界面;如果不正确,登陆界面还是跳转到登陆界面。=-=
4.最重要的是,在web.xml中进行配置(login是自己取的名)。
<servlet>
<servlet-name>login</servlet-name> <!--自己取的名,一般用类名小写-->
<servlet-class>com.zhu.servlet.Login</servlet-class> <!--包名+类名-->
</servlet>
<servlet-mapping>
<servlet-name>login</servlet-name> <!--这个地方login 和前面要保持一样-->
<url-pattern>/login</url-pattern> <!--这里 /login 要注意:1.斜杠不能去掉,斜杠后面的为url-->
<!--访问的时候,localhost:8080/zhu/login,login就是这个url-->
<!--而且,每写完一个类,如写完loginyz类,welcome类,都要在web.xml中增加这样的一组内容-->
</servlet-mapping>