回顾上文的:写好你自己的servlet,代码内容随意(简便配置网址)
代码:
package cn.xdl.demo1;
import java.io.IOException;
import java.io.PrintWriter;
import javax.servlet.ServletException;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import sun.net.www.content.text.plain;
@WebServlet("/hello")
public class Servlet1 extends HttpServlet {
@Override
protected void service(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
//浏览器响应编码,不写它会导致乱码
response.setContentType("text/html;charset=utf-8");
try {
PrintWriter pw = response.getWriter();
pw.append("<html>")
.append("<head><title>这是第一个Servlet</title><head>")
.append("<boby>");
for (int i = 0; i < 100; i++) {
pw.append("从前有座大山!");
}
pw.append("</body>").append("</html>");
}catch (Exception e) {
// TODO: handle exception
}
}
}
直接单击servlet类运行
今天咱们就玩个比较老的,用Web.xml配置网址,实现上面说的用一行代码@WebServlet("/hello")
访问java代码的功能。(个人推荐用上面的方式配置网址比较好)
具体操作:
前提是Web.xml在哪呢?
在WEB-INF目录下,但是为啥没出现呢?不要紧张,一步步来
右键单击项目
完成上述步骤就有了web.xml
接下来就是开始配置的步骤了
解释全在图片里面
解释:
步骤1. 将Servlet类 配置到web.xml中, 并起别名
<servlet>
<servlet-name>任意标识符别名</servlet-name>
<servlet-class>包名.类名</servlet-class>
</servlet>
步骤2. 给指定别名的servlet , 添加映射的地址 (注意: 这里指的是添加 而不是设置 ! 可添加多个 !)
<servlet-mapping>
<servlet-name>已指定的标识符别名</servlet-name>
<url-pattern>/映射地址</url-pattern>
</servlet-mapping>
案例代码:
<?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" version="3.1">
<!-- 目标:给哪个类配什么样子的网址
-->
<!-- 步骤1
1.将Servlet类配置到Web.xml中,并且起别名
-->
<servlet>
<!--servlet的别名(随意就行) -->
<servlet-name>hahha</servlet-name>
<!-- servLet的全名:既包名+类名-->
<servlet-class>cn.xdl.demo.Servlet</servlet-class>
<!-- 检查:写完之后按住ctrl键,光标有一条下划线就是路径没问题的-->
</servlet>
<!--步骤2:给指定别名的servlet,添加映射的地址(注意:这里指的是添加而不是设置!可以提示添加多个!)(即多个地址都可以映射到一个servlet类) -->
<!--mapping:表示映射。
这段代码的意思是通过别名为haha的servlet类添加映射地址,映射地址为 /s1.php -->
<servlet-mapping>
<servlet-name>hahha</servlet-name>
<url-pattern>/s1.php</url-pattern>
</servlet-mapping>
</web-app>
完成上图操作直接运行Servlet类,注意:不是运行整个项目,
最终的页面效果
今天内容比较简单了