< servlet > 配置 <web.xml> 配置文件
在JAVA Web项目中, <servlet>是可以通过浏览器请求调用的Java代码
当浏览器发起请求时,服务器通过< web.xml >配置文件中的配置,找到相应的被请求的<servlet>
用人话说
一个类继承 HttpServlet 然后去web.xml 中配置 servlet的和请求地址的关系 ,浏览器可以直接请求
这个类 ,其中的代码
这里的笔记就是记录一下怎么配置
servlet
public class servlet extends HttpServlet {
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
//获取浏览器发送来的数据
String number = req.getParameter("number");
//将获取到的数据转换成数字
Integer integer = Integer.decode(number);
int i = integer +200;
//将数据发送回浏览器,因为servlet没有界面,所以发送回去还得写一点html页面,不然浏览器上就是空白的
resp.getWriter().write("<html><h1>"+i+"</h1></html>");
}
}
配置 web.xml
<!-- 设置浏览器中的被请求地址,当浏览器请求/ABC时,服务器就会去找名字是 A 的servlet-->
<servlet-mapping>
<servlet-name>A</servlet-name>
<url-pattern>/ABC</url-pattern>
</servlet-mapping>
<!-- 设置一个 servlet 的名字为 A ,第二行指向那个 servlet 的类,有包还得在前面接上包名 比如 com.Test.servlet-->
<servlet>
<servlet-name>A</servlet-name>
<servlet-class>servlet</servlet-class>
</servlet>
注解配置servlet
好用又省事啊
//在写servlet的时候写上这个注解,就算是配置好了web.xml文件了,效果相同
@WebServlet(/ABC)
public class servlet extends HttpServlet {
}
使用浏览器测试
http://localhost:8080/11_20_war_exploded/ABC?number=100
在 web.xml 中 配置 ABC 为 servlet ,请求 ABC 就会请求到 servlet
因为在servlet中,在?后拼接,就可以传将 number=100 穿到 servlet 中,然后通过number获取到100
运行结果 浏览器中出现h1标签
300
此时
http://localhost:8080/11_20_war_exploded/ABC?number=100
请求到的网页源码正是servlet返回的数据
<html><h1>300</h1></html>