Spring入门学习之Spring MVC(part 1)

Spring MVC

Spring MVC是Spring框架中用于Web应用快速开发的一个模块。Spring MVC基于Spring框架、Servlet和JSP。所以接下来先分别对Servlet和JSP做简单了解。

 

Servlet

1.      运行servlet需要servlet容器,例如Tomcat

2.      如果想让某个资源可以被servlet访问,但是不可以被用户访问,那么需要放到WEB-INF下

3.      ServletRequest: 对于每一个HTTP请求Servlet容器都会创建一个ServletRequest实例。并将它传给service方法。getParameter是ServletRequest中最常用的方法。该方法可以用来获取html表单域的值或者用于获得查询字符串的值。例如获取http://localhost:8080/personal/delete?id=112   该url中id的值:request.getParameter(“id”);

4.      ServletResponse: servlet响应。

5.      ServletResponse和ServletRequest默认的处理与前台的数据交互的编码是ISO-8859-1,所以在在项目中要做相应处理比如设置为UTF-8以防止乱码,这个在我的个人博客开发问题总结中会提到。

6.      HttpServlet区别Servlet:

1)      不用覆盖service方法而是覆盖doGet()或者doPost();

2)      与HttpServletRequest和HttpServletResponse共用。

7.      HttpServletRequest中的常用方法:

1)      Cookie[] getCookies():返回一个cookie对象数组

2)      String getMethod() : 返回这个请求的HTTP方法名称

3)      String getQueryString() :返回URL中的查询字符串

4)      HttpSession getSession() :返回与这个请求相关的会话对象。如果没有,将创建一个。

8.      HttpServletResponse中的常用方法:

1)      Void addCookie(Cookie cookie):给相应添加一个cookie

2)      Void sendRedirect(Sstring location):发送一条响应码,将浏览器跳转到指定位置。

9.      HTML输入域中的或者文本区域的值会以字符串的形式发送给服务器。空的输入域或者文本区域会发送空的字符串,所以有输入域名称的ServletRequest.getParameter绝对不会返回null

JSP(JavaServer Pages)

1.      JSP页面本质上是一个Servlet。

2.      JSP需要在JSP容器中运行,一个Servle容器通常也是JSP容器,例如Tomcat。

 

部署描述符(web.xml)

1.      部署描述符必须命名为web.xml并且位于WEB-INF目录下,Java类需放置在WEB-INF/classes目录下,Java类库则必须位于WEB-INF/lib目录下。

2.      以下情况下需要用到部署描述符:

1)      需要传递初始参数给ServletContext

2)      有多个过滤器,并且指定调用顺序。

3)      需要更改会话超时设置。

4)      要限制资源的访问,并配置用户身份验证方式。

3.      Web.xml子元素介绍:

1)      <context-param>:传值给servletContext,这些值可以被任何Servlet/JSP页面读取。可以通过调用ServletContext的getInitParamter方法濑读取。

2)      <error-page>:该元素包含一个HTTP错误与资源路径或Java异常与资源路径之间的映射关系。Error-page元素定于容器在特定HTTP错误或异常时应返回的资源路径。Error-page元素由如下成分构成:

l  Error-code,指定一个HTTP错误代码。

l  Exception-type,指定java的异常类型(全路径名称)。

l  Location,指定要被显示的资源位置。该元素必须以“/”开始。

下面的配置告诉Servlet/JSP容器,当出现HTTP 404时,显示位于应用目录下的error.html页面。

<error-page>
       <error-code>404</error-code>
<location>/error.html</location>
</error-page>


下面的配置告诉Servlet/JSP容器,当发生ServletException时,显示exception.html页面。

<error-page>
       <exception-type>javax.servlet.ServletException</exception-type>
<location>/exception.html</location>
</error-page>


4.      <filter>: 指定一个Servlet过滤器。该元素至少包括一个filter-name元素和一个filter-class元素。此外还可以包含以下元素:icon、display-name、discription、init-param以及async-supported。Filter-name元素定义了过滤器的名称。过滤器名称必须全局唯一。Filter-class元素指定过滤器类的全路径名称。可由init-param元素来配置过滤器的初始参数,一个过滤器可以有多个init-param。

5.      <filter-mapping>:指定过滤器要被映射到的一个或多个资源。过滤器可以被映射到Servlet(<filter-name> + <servlet-name>)或者URL模式(<filter-name> + <url-pattern>)。将过滤器映射到Servlet会致使过滤器对该servlet产生作用。将过滤器映射到URL模式,则会使其对所有URL与该URL模式匹配的资源进行过滤。过滤的顺序与过滤器映射元素在部署描述符中的顺序一致。<filter-name>元素的值必须与利用<filter>元素声明的某一个过滤器名称一致。例子:

<filter>
       <filter-name>SecurityFilter</filter-name>
<filter-class>com.example.SecurityFilter</filter-class>
</filter>
<filter-mapping>
       <filter-name>Security Filter </filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>


                 

6.      <listener>:注册一个监听器。其子元素<listener-class>包含监听器的全路径名。

<listener>
       <listener-class>com.example.Applistener</listener-class>
</listener>


7.      <servlet> 和 <servlet-mapping>

8.      <welcome-file-list>:指定欢迎页面,可以指定静态页面或者Servlet。

9.      …以后用到的再来添加

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值