linux服务器一般都不会有大多内存装ide,尤其是轻量级的服务器,所以基本上都是本地IDE写servlet,jsp,spring,写完以后打包上传到服务器上。
以IDEA为例:
写好servlet:
package MyServlet;//项目名是Example,相当于webapps目录下的一级目录(与ROOT同目录)
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.io.PrintWriter;
@WebServlet(name = "FirstServlet",urlPatterns = {"/test"})//urlPatterns决定了如何时的url
public class FirstServlet extends HttpServlet {
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
response.setContentType("text/html");
PrintWriter out=response.getWriter();
out.println("This is post.")
}
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
response.setContentType("text/html");
PrintWriter out = response.getWriter();
out.println("hello servlet");//输出hello servlet
}
}
配置完xml:
<?xml version="1.0" encoding="UTF-8"?>
<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_4_0.xsd"
version="4.0">
<servlet>
<servlet-name>FirstServlet</servlet-name>//servlet类名
<servlet-class>MyServlet.FirstServlet</servlet-class>//src的包名+类名
</servlet>
<servlet-mapping>
<servlet-name>FirstServlet</servlet-name>
<url-pattern>/test</url-pattern>//这个必须和缩写servlet类制定的url标签相同
</servlet-mapping>
</web-app>
先在IDEA中打开:File->Project Structure->Artifacts,然后点击+号创建一个Web Application:Archive,然后选择路径,修改名称,建议名称为项目名称:war
。同时确定其包括WEB-INF和‘web’ directory contents(如果看不到,点一下右下角OK旁边Show content of elements的勾)。
点击Apply保存设置。在IDEA工具栏找到Build,选择build artifacts,选择Example:war,就可以在之前的路径下找到一个Example.war文件。
打开psftp,把war文件上传到服务器tomcat的webapps
目录(不要再创建新的文件夹了,直接放在webapps目录下)tomcat会自动解压war文件。如果tomcat没有自动解压,到tomcat安装目录conf目录下的server.xml文件里,把标签里的unpackWARs=’“false”'改成"true",同时检查appBase是否为“webapps",如果不是就改过来。
最后访问http://url/Example/test
,就能看到servlet的界面了。
同理要访问Example项目的index.jsp,http://url/Example/index.jsp