0.条件
一个可以开发javaee的开发工具
1.配置
首先需要下载tomcat,用来跑javaweb的服务器,下载后自行百度配置。然后需要servlet.jar包,其实就是一个java网络层api包
2.基础
jsp 我觉得就可以理解成html
xml 一个长得像html的标签语言,但是xml是用来存储数据的,功能和json差不多,把节点都提取出来就像json一样了
3.个人理解
如果不是前后端分离的话具体的执行过程是这样的,服务器加载web.xml文件,在其中找到当前输入的路由,在这个路由中调用对应的java文件执行,如果这个路由只是一个接口的话,就输入接口输出的内容,如果这个路由是一个页面的话通过重定向去对应的html文件并执行
4.代码方面
各种html页面都放在WEB-INF中,web.xml也在其中,web.xml主要功能是进行后端路由的配置,简单的配置一个路由的操作如下
<servlet> <servlet-name>test2</servlet-name> 给这个接口取个名字 <servlet-class>servlet.test2</servlet-class> 这个接口对应的地点 </servlet> <servlet-mapping> <servlet-name>test2</servlet-name> 和上面的名字要一一对应 <url-pattern>/servlet/test2</url-pattern> 访问的路由地址 </servlet-mapping>
在java代码里面只要是要引入
import javax.servlet.ServletException;
这个包,同时重写包里面HttpServlet类的doGet和doPost方法,并对其进行request和response,这个包在servlet.jar里面。这样写一个路由就出来了
5.踩坑点
eclipse要选正确,要能运行javaee的
新建项目是选Dynamic web project
在新建项目的时候如果是新手Dynamic web module version要选2.5,如果是3.0会没有web.xml文件,如果没有web.xml文件自己建也可以
servlet.jar一定要引入,这个包在你下的tomcat的lib目录里面有
eclipse跑出来路由前面加上项目名,http://localhost:8080/JavaWebDemo/index.jsp,JavaWebDemo是我的项目名字
6.附上代码和目录结构
index.jsp
<%@ page language="java" contentType="text/html; charset=utf-8" pageEncoding="ISO-8859-1"%> <html> <head> <title>$Title$</title> </head> <body> $END$2 <a href="servlet/demo">get</a> </body> </html>
web.xml
<?xml version="1.0" encoding="UTF-8"?> <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" id="WebApp_ID" version="2.5"> <display-name>webdemo2</display-name> <welcome-file-list> <welcome-file>index.html</welcome-file> <welcome-file>index.htm</welcome-file> <welcome-file>index.jsp</welcome-file> <welcome-file>default.html</welcome-file> <welcome-file>default.htm</welcome-file> <welcome-file>default.jsp</welcome-file> </welcome-file-list> <servlet> <servlet-name>demo</servlet-name> <servlet-class>servlet.demo</servlet-class> </servlet> <servlet-mapping> <servlet-name>demo</servlet-name> <url-pattern>/servlet/demo</url-pattern> </servlet-mapping> </web-app>
demo.java
package servlet; import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import java.io.IOException; import java.io.PrintWriter; public class demo extends HttpServlet{ protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException{ System.out.println("do get..."); PrintWriter out = response.getWriter(); out.println("<strong>get success</strong>"); } protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException{ System.out.println("do post..."); PrintWriter out = response.getWriter(); out.println("<strong>get success</strong>"); } }
文件目录