笔记系列—servlet创建
也许疲惫,也许胆怯,但是哪怕是夜晚也有星光与皓月争辉
servlet创建
前言
因为servlet报错404,索性重新安装
一、servlet的核心方法
servlet的核心方法
- init(ServletConfig config)
–初始化 - ServletConfig getServletConfig()
–配置信息 - service(ServletRequest req,ServletResponse res)
–服务 - String getServletInfo()
–获取 - destroy()
–销毁
二、servlet第一种创建方式
自己进行接口实现
2.1.创建类
代码如下(示例):
public class MyServlet implements Servlet {
//生命周期方法
public MyServlet(){
System.out.println("myservlet的无参构造方法执行了");
}
//生命周期方法
@Override
public void init(ServletConfig servletConfig) throws ServletException {
System.out.println("myservlet的init方法执行了");
}
//生命周期方法
@Override
public void service(ServletRequest servletRequest, ServletResponse servletResponse) throws ServletException, IOException {
System.out.println("service第一种创建方式");
System.out.println("myservlet的service方法执行了");
}
//生命周期方法
@Override
public void destroy() {
System.out.println("myservlet的destroy方法执行了");
}
@Override
public String getServletInfo() {
System.out.println("myservlet的getServletInfo方法执行了");
return null;
}
@Override
public ServletConfig getServletConfig() {
System.out.println("myservlet的getServletConfig方法执行了");
return null;
}
}
2.2.配置servlet
在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">
<!--以下新增内容-->
<servlet>
<servlet-name>MyServlet</servlet-name>
<servlet-class>com.servlet.MyServlet</servlet-class>
</servlet>
<!--映射-->
<servlet-mapping>
<servlet-name>MyServlet</servlet-name>
<url-pattern>/myservlet</url-pattern>
</servlet-mapping>
<!--配置访问首页-->
<welcome-file-list>
<welcome-file>hello.html</welcome-file>
</welcome-file-list>
</web-app>
该处使用的url网络请求的数据。
2.3运行
弹出的网页输入/myservlet
结果如下
控制台显示
三、servlet第二种创建方式
通过继承GenericServlet 进行接口实现
3.1.创建类
代码如下:
public class MyServlet3 extends GenericServlet {
@Override
public void service(ServletRequest servletRequest, ServletResponse servletResponse) throws ServletException, IOException {
System.out.println("servlet的第二种创建方式");
}
};
GenericServlet 实现了servlet
3.2配置servlet
在web.xml里面
代码如下:
<!--配置servlet-->
<servlet>
<servlet-name>MyServlet3</servlet-name>
<servlet-class>com.servlet.MyServlet3</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>MyServlet3</servlet-name>
<url-pattern>/myservlet3</url-pattern>
</servlet-mapping>
3.3运行
四、servlet第三种创建方式
4.1.创建类
代码如下:
public class MyServlet4 extends HttpServlet {
}
4.2配置servlet
在web.xml编写
代码如下:
<!--配置servlet-->
<servlet>
<servlet-name>MyServlet4</servlet-name>
<servlet-class>com.servlet.MyServlet4</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>MyServlet4</servlet-name>
<url-pattern>/myservlet4</url-pattern>
</servlet-mapping>
4.3运行
然后恭喜报405
原因在这,看不懂的东西+1。。。
4.4重写doGet和doPost
代码如下:
public class MyServlet4 extends HttpServlet {
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
System.out.println("执行get请求");
}
@Override
protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
System.out.println("执行post请求");
}
}
4.5运行
六、servlet第二种配置方式注解配置
6.1.创建类
代码如下:
@WebServlet(name = "MyServlet5",value ="/myservlet5" )//属性名称
public class MyServlet5 extends HttpServlet {
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
System.out.println("myservlet5执行");
}
@Override
protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
this.doGet(req,resp);
}
}
6.2运行
七、servlet快速创建
7.1.创建
方式如下:
代码如下:
@WebServlet(name = "MyServlet8",value = "/myservlet8")
public class MyServlet8 extends HttpServlet {
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
System.out.println("myservlet8执行");
}
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
this.doPost(request,response);
}
}
八、servlet通过模板创建!!!
8.1.步骤
模板如下:
#if (${PACKAGE_NAME} && ${PACKAGE_NAME} != "")package ${PACKAGE_NAME};#end
#parse("File Header.java")
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
/**
* projectName:${PROJECT_NAME}
* author:
* time:${DATE} ${TIME}
* description:${description}
*/
@WebServlet("/${path}")
public class ${NAME} extends HttpServlet{
@Override
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
}
@Override
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException{
this.doGet(request,response);
}
}
接着以后直接就可以
只需要写以下俩就行
结果如下
sout写下执行,然后运行
总结
搞定了溜溜球