1、请检查你的电脑是否已经安装了jdk,使用win+R打开你的cmd,分别输入java和javac回车查看,未安装先安装。
2、在环境变量【此电脑-属性-高级系统设置-环境变量-系统属性】中新建JAVA_HOME并复制path中java的安装路径【如:C:\Program Files\Java\jdk1.8.0_101\bin】要去掉bin【如:C:\Program Files\Java\jdk1.8.0_101】
3、下载tomcat压缩包【版本不要低于jdk版本】解压,在解压后的bin文件夹里面找到startup.bat【不显示后缀,两个同名不同类型类型看属性,windows批处理文件即是】双击,然后出现tomcat窗口,将会在最后打印【start Server startup in xxxx ms】,此时请打开浏览器输入http://localhost:8080或者127.0.0.1:8080将看到tomcat默认页面,安装成功。
4、tomcat解压以后文件夹有七个,主要六个其中bin里面包含所有可执行命令,比如启动和关闭;conf是配置文件夹,保存了各个配置信息,比如servlet.xml【修改端口号,配置虚拟目录等,修改完请重启服务器】和web.xml;lib里面有服务器运行需要的各个jar包,比如servlet-api;log是日志;webapps是项目存放的目录,了解项目结构可以查看里面的root文件夹怎么放置的;work则是临时文件夹,如果修改项目时没有起作用,建议关闭服务器,清空work再启动。
5、代码准备:
使用记事本编写一个.html文件【index.html】,再新建编写一个servlet文件【MyServlet.java】,最后新建编写一个jsp文件【forServlet.jsp】
<!--index.html-->
<!doctype html>
<html>
<head>
<meta charset="UTF-8">
<meta name="Author" content="lp">
<title>html</title>
</head>
<body>
<form action="/fs" method="post">
<input type="text" name="uname"/>
<input type="submit" value="提交"/>
</form>
</body>
</html>
//MyServlet.java
package me.servlet ;//写了包请自己创建文件夹目录
import java.io.* ;
import javax.servlet.* ;
import javax.servlet.http.* ;
class MyServlet extends HttpServlet
{
private ServletConfig config = null ;
public void init(ServletConfig config) throws ServletException
{
this.config = config ;
}
// 表示处理get请求
public void doGet(HttpServletRequest req,HttpServletResponse resp) throws IOException,ServletException
{
System.out.println("** Servlet doGet处理提交参数 ...") ;
req.getRequestDispatcher("forServlet.jsp").forward(req,resp);
}
// 处理post请求
public void doPost(HttpServletRequest req,HttpServletResponse resp) throws IOException,ServletException
{
//
String name = req.getParameter("uname") ;
// 取得一个session对象,写入一个session值
HttpSession session = req.getSession() ;
session.setAttribute("sname",name) ;
ServletContext app=req.getSession().getServletContext();
app.setAttribute("xxx","xxxxxxxx") ;
System.out.println("** Servlet doPost处理提交参数 ...") ;
System.out.println("name = "+name) ;
// 重定向
resp.sendRedirect("forServlet.jsp") ;
}
}
<!--forServlet.jsp-->
<h1><%=session.getAttribute("sname")%></h1>
<h1><%=getServletContext().getAttribute("xxx")%></h1>
<h1><%=application.getAttribute("xxx")%></h1>
6、这三个文件写好后,开始创建一个项目文件夹test,文件夹结构【使用电脑浏览器打开查看,一行为一级目录,手机结构就乱了】:
test
index.html forServlet.jsp me WEB-INF
servlet classes lib web.xml【root里复制,添加servlet映射】
MyServlet.java me
serlvet
MyServlet.class
【这个字节码文件得到方式-----在cmd里面输入命令: Myservlet.java所在的文件夹路径>javac -cp servlet-api.jar的路径\servlet-api.jar Myservlet.java 以后可以得到,复制到classes里即可,务必引用这个servlet-api,可以使用以上命令方式调用jar包也可以放到jdk安装目录jre下的lib下的ext下,否则servlet-api找不到会报错】
7、不添加虚拟目录直接运行就直接粘贴在webapps里面,然后打开tomcat服务器,打开浏览器输入http://localhost:8080/test
8、成功运行
9、注意几点:如果.java文件里面带包就自己创建好写了包名的目录文件夹把.java文件放进去;一定要创建WEB-INF文件夹,里面的web.xml包含servlet映射;在WEB-INF文件夹下的classes放置你已经javac后的.java文件,记住!有包就带包一起放;映射写法:
...
<!--两个name要一致-->
<servlet>
<servlet-name>form</servlet-name>
<servlet-class>me.servlet.MyServlet</servlet-class><!--包名类名-->
<load-on-startup>0</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>form</servlet-name>
<url-pattern>/fs</url-pattern><!--浏览器中显示、form里action的这个servlet的别名-->
</servlet-mapping>
</web-app>
10、配置虚拟目录,在tomcat下的conf下的servlet.xml里面的host标签结束前添加:<Context path=“浏览器输入的虚拟路径” docBase="项目文件夹的真实路径" />