JavaWeb从入门到放弃(6)-仔细看下servlet

Servlet是浏览器或者其他网络请求与程序的中间层,这层用来对网络请求进行处理,常用的是HttpServlet,该类继承自Servlet,它复写了service()方法,对http的get和post请求进行了判断,get的调用doGet()方法,post的调用doPost()方法。

生命周期:

init()--初始化方法,可以在这里初始化数据或者新建数据库等需要初始化的工作,整个生命周期只会调用一次。

service()--处理请求。httpService对此进行封装了get/post的判断。

destroy()--Servlet销毁,整个生命周期只会调用一次。

一:新建一个servlet

对于代码配置一个Servlet:

第一种:右键-new class-name-extends HttpServlet--去web.xml配置访问路径。

第二种:右键-new servlet-next-finish--不需要再去配置访问路径了。生成的代码如下,这里的/MyServlet就是访问时URl匹配的部分

@WebServlet("/MyServlet")
public class MyServlet extends HttpServlet {
private static final long serialVersionUID = 1L;

/**
* @see HttpServlet#HttpServlet()
*/
public MyServlet() {


可以配置的内容:name/urlPatterns/loadOnStartup

name就是表示这个servlet的别名,urlpatterns就表示匹配的url,

loadOnStartup:默认配置下servlet只有在有到该servlet的请求时才会创建和初始化,如果需要让它跟随程序一起初始化就需要给它设置一个大于0的数值,如果两个servlet的启动优先级相同,那么就根据厂商设置自行决定先后顺序。


二。配置一个servlet

对于这三个参数的不同配置方式:

1.

@WebServlet(name="MyServlet",
urlPatterns="/er",
loadOnStartup=1)


2.

 <!-- 声明这个servlet -->
<servlet>
<servlet-name>TestServelt</servlet-name>
<servlet-class>com.test.c_171030.TestServelt</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
<!-- 设置他的访问路径 -->
<servlet-mapping>
<servlet-name>TestServelt</servlet-name>
<url-pattern>/myServelt</url-pattern>
</servlet-mapping>

注:对于这个url的配置可以使用通配符

只能有两种格式:*.拓展名和/url/*

*表示任意匹配。

对于匹配的规则,哪个更像匹配哪个:

比如:请求“/abc”,“/abc”和"/abc/"按照理论都可以,但是实际只匹配“/abc”,只因为更像。


对于缺省servlet:

如果该url匹配不上任何一个servlet就使用这个,这个的url-pattern写作/

三。使用servlet

对于表单请求数值的获取:

//数值获取
request.getParameter("value");//如果只有单个
request.getParameterValues("value");//如果存在一个value传多个值
request.getParameterNames();//获取所有value




转载请注明本文地址: JavaWeb从入门到放弃(6)-仔细看下servlet

看完本文还有福利^-^:
20180512144120365

猜你喜欢

转载自blog.csdn.net/dearbaba_8520/article/details/80297447
今日推荐