1.默认生成web.xml方式
在新建Dynamic web Project的最后一步,勾选Generate web.xml deployment descriptor即可生成。
2.web.xml格式
必须以代码开头:
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://xmlns.jcp.org/xml/ns/javaee" xsi:schemaLocation
="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd"
id="WebApp_ID" version="3.1">
以下代码结束
</web-app>
3.项目启动页面
项目启动页面需要在xml.web里面配置,其中Main.html就是启动页面
welcome-file-list 指示服务器在收到引用一个目录名而不是文件名的URL时,使用哪个文件。如果根目录没有,就自动找其他目录
<welcome-file-list>
<welcome-file>Main.html</welcome-file>
</welcome-file-list>
4.页面关系
用servlet标签指定文件名称和servlet-name的对应关系,用servlet-mapping标签指定servlet-name和url对应关系
对应关系也可以在编写的文件中用@WebServlet("/aaaa")来对应调用关系,优先级小于web.xml
如,调用Hello.java可使用以下对应关系
<servlet>
<servlet-name>duiying1</servlet-name>
<servlet-class>Hello</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>duiying1</servlet-name>
<url-pattern>/renyi</url-pattern>
</servlet-mapping>
4.错误页面配置
错误页面:
<error-page>
<error-code>404</error-page>
<location>/404.html</location>
</error-page>
<error-page>
<exception-type>java.lang.NullPointerException</exception-type>
<location>/exception</location>
</error-page>
5.配置数据库
①使用getServletContext( ).getInitParameter("XX")读取
<context-param>
<param-name>driver</param-name>
<param-value>com.mysql.jdbc.Driver</param-value>
</context-param>
<context-param>
<param-name>url</param-name>
<param-value>jdbc:mysql://localhost:3306/mytest</param-value>
</context-param>
<context-param>
<param-name>username</param-name>
<param-value>root</param-value>
</context-param>
<context-param>
<param-name>password</param-name>
<param-value>root</param-value>
</context-param>
②使用getServletConfig( ).getInitParameter("XX")读取,写在<servlet>内
<servlet>
<servlet-name>XX</servlet-name>
<servlet-class>XXX.XXXX</servlet-class>
<init-param>
<param-name>driver</param-name>
<param-value>com.mysql.jdbc.Driver</param-value>
</init-param>
<init-param>
<param-name>url</param-name>
<param-value>jdbc:mysql://localhost:3306/mytest</param-value>
</init-param>
<init-param>
<param-name>username</param-name>
<param-value>root</param-value>
</init-param>
<init-param>
<param-name>password</param-name>
<param-value>root</param-value>
</init-param>
</servlet>
取得参数:类需要继承HttpServlet,在重写的init( )方法里面取得
@Override
public void init() throws ServletException{
String driverClass = /* getServletConfig(). */getServletContext().getInitParameter("driver");
String url = /*getServletConfig().*/getServletContext().getInitParameter("url");
//同理得到name、password
}