Servlet到底怎么配置和使用?
这几天我开始初学Servlet发现配置和使用这个对新手来说的确是个麻烦事。
所以在这里我自己写一篇来帮助和我一样的萌新们,要是有错误在评论区纠正我吧!
首先得了解Servlet-api.jar是一个tomact自带的jar包(在lib文件夹中),但是eclipse不会自带这个包,所以若想创建一个Servlet的项目就得先将Servlet.jar复制到你的jdk文件中,这里就不细讲了。
创建好Servlet项目后可以看见有了一个WEB-INF文件夹,打开其中的web.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"
metadata-complete="true">
</web-app>
↑这个就是最开始的文件
然后添加
<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>
这个是欢迎页,比如访问http://www.yaoserver.xyz/会自动访问http://www.yaoserver.xyz/index.jsp,
WEB-INF文件夹中还有一个文件夹叫"classes"这个就是装java项目的
往文件夹中装入打包后的java项目
注意!:
1.class文件有一定要装在classes里的一个包里! (比如classes/Try/main.class)
2.一定是.class文件!!!不是.java文件!将Java文件打包的命令:
javac -d . xxx.java (怎么样是不是非常贴心qwq)
之后呢在打开web.xml来配置class文件在网站上的网址
<servlet>
<servlet-name>a1</servlet-name> 这个是Servlet名字
<servlet-class>Try.main</servlet-class> 这里不需要打.class
</servlet>
<servlet-mapping>
<servlet-name>a1</servlet-name> 注意这里要和上面的一样
<url-pattern>/hello</url-pattern>这里是在网站上的位置,
比如我这个就是在http://localhost/hello/这里
</servlet-mapping>
再往下我也不知是啥意思,但好像没有这个就运行不了,有没有知道的大佬能帮我解答一下qwq
<servlet-mapping>
<servlet-name>a1</servlet-name>
<url-pattern>/hello.asp</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>a1</servlet-name>
<url-pattern>/hello.lxh</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>a1</servlet-name>
<url-pattern>/lxh/*</url-pattern>
</servlet-mapping>
保存文件后再重启tomact就可以啦!
↓web.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"
metadata-complete="true">
<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>a1</servlet-name> 这个是Servlet名字
<servlet-class>Try.main</servlet-class> 这里不需要打.class
</servlet>
<servlet-mapping>
<servlet-name>a1</servlet-name> 注意这里要和上面的一样
<url-pattern>/hello</url-pattern>这里是在网站上的位置,
比如我这个就是在http://localhost/hello/这里
</servlet-mapping>
再往下我也不知是啥意思,但好像没有这个就运行不了,有没有知道的大佬能帮我解答一下qwq
<servlet-mapping>
<servlet-name>a1</servlet-name>
<url-pattern>/hello.asp</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>a1</servlet-name>
<url-pattern>/hello.lxh</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>a1</servlet-name>
<url-pattern>/lxh/*</url-pattern>
</servlet-mapping>
</web-app>