servlet

读spring mvc 源码

試著忘記壹切 提交于 2020-01-09 10:49:16
先看看关键servlet:DispatcherServlet的继承结构图 我们先从GenericServlet这个类看起。 1.这个类实现了servlet接口 2.看关键代码 public void init(ServletConfig config) throws ServletException { this.config = config; this.init(); } public void init() throws ServletException { }  这里init(ServletConfig config)是实现servlet的方法,init()是新建的方法。 而由于实现的方法里面,调用了init()这个方法,所以后续继承了GenericServlet 这个类的类,只要重写init()方法,即可对servlet的初始化部分进行修改。 我们再来看HttpServletBean这个类。 1.看关键代码 public final void init() throws ServletException { if (this.logger.isDebugEnabled()) { this.logger.debug("Initializing servlet '" + this.getServletName() + "'"); } try { PropertyValues

模板引擎 Velocity

强颜欢笑 提交于 2020-01-09 06:19:24
一直以来开发web的页面都是jsp+jstl+EL表达式。也没遇到什么问题,只是偶尔会禁不住在jsp页面上写上两行java代码,些许影响美观。 听说velocity这个模版很不错。oschina也是用的这个。于是花了些时间学习一下。 很多内容velocity的 官网 上面都说得听清楚了。这里说下web开发方面的。 想用velocity代替jsp其实很简单。先在官网的下载页面下载必须的jar包,分别是 velocity-1.7.zip 和 velocity-tools-2.0.zip 。 在velocity-tools-2.0.zip中有个官方例子,估计看完之后大家都会了。这里简单说下。 首先在web.xml中增加velocity的配置。 <servlet> <servlet-name>velocity</servlet-name> <servlet-class>org.apache.velocity.tools.view.VelocityViewServlet</servlet-class> </servlet> <servlet-mapping> <servlet-name>velocity</servlet-name> <url-pattern>*.vm</url-pattern> </servlet-mapping> 添加一个处理vm后缀文件的servlet

对于servlet编程的再次理解

不打扰是莪最后的温柔 提交于 2020-01-09 04:14:20
1.servlet是运行在Web服务器端的Java程序,可以生成动态的Web页面,属于客户端和服务器的中间层。 2.jsp的底层就是servlet. 3.我们知道Java是面向对象的语言,任何Java代码都必须放到类中,但在Jsp中就是没有类的定义,那不是错了,其实呐,在运行servlet的时候服务器的底层会把JSP编译成一个Java类,这个类就是servlet。 4.我们知道一般编译一些Java类的时候都会有class文件的生成,那么在编译servlet的时候这些Java类的class的文件在哪里呐,这里是在Tomcat的相应的目录的WEB-INF/classes下边. 5.在servlet中,初次运行会实例化一个servlet,在不关闭服务器的情况下,再次访问的话,就会用到这个已经实例化的servlet,而不是再去实例化一个servlet,多用户访问的话,每次的请求都会分配一个线程来运行,所以不会乱。 6.一个servlet咋I服武器中最多只会驻留一个实例。 7. PrintWriter out = response.getWriter(); 这个out对象是打印字符集的,但是这里会乱码,因为输出流中没有设置编码 8.设置欢迎页面是在web.xml中设置。 <welcome-file-list> </welcome-file-list> 9.web.xml可以设置好多参数

java基础77 Http协议及Servlet中的GET、POST提交方式

北战南征 提交于 2020-01-09 02:42:40
本文知识点(目录): 1、什么是http协议 2、查看http协议的工具 3、http协议的内容 4、请求方式 5、请求头和响应头(以及获取请求头信息的方法) 6、实体内容 7、获取传递的请求参数 8、附录1、2、3、4 1、什么是http协议 http协议:是对浏览器(客户端)和服务端之间的数据传输的格式规范 2、查看http协议的工具 1)使用火狐--->右击选择”查看元素”/”检查”--->网络--->点击里面你的访问页面即可显示(如下图中的index.jsp) 2)使用谷歌--->右击选择”审查元素”/”检查”--->NetWork--->Headers 3)使用系统自带的telnet工具(远程访问工具) (命令提示符) a)telnet localhost 8080 访问tomcat服务器 b)ctrl+] 回车 可以看到回显 c)请输入请求内容: GET /MyServlet/index.jsp HTTP/1.1 Host: localhost:8080 d)回车,即可查看到服务器响应的信息 3、http协议的内容 项目中index.jsp页面的内容 1 <%@ page language="java" import="java.util.*" pageEncoding="ISO-8859-1"%> 2 <% 3 String path = request

JAX-WS + Spring 开发webservice

做~自己de王妃 提交于 2020-01-09 02:37:36
通过几天的时间研究了下使用jax-ws来开发webservice,看了网上的一些资料总结出jax-ws的开发大概分为两种。 以下项目使用的spring3.0,jar包可以到官网下载 第一种:使用独立的端口(指端口可以在spring中自定义配置)   首先说第一种方式,这种方式不需要添加额外的jar包,他使用的是JDK自带的JWS来实现的。 web.xml文件配置: <?xml version="1.0" encoding="UTF-8"?> <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" id="WebApp_ID" version="2.5"> <display-name>JAXWSExample</display-name> <!-- applicationContext*.xml文件在src目录下的conf文件夹中--> <context-param> <param-name

Java Web 设置默认首页

独自空忆成欢 提交于 2020-01-09 01:32:05
一、问题描述 这里所谓的默认首页,是指在访问项目根目录时(如 http://localhost:8080/zhx-web/ )展示的页面,通过在web.xml里配置 <welcome-file-list> 实现。分静态页面和动态页面两种: 二、静态页面 对于静态页面,只需要在web.xml里添加如下内容即可。这时访问上述链接时得到的就是download.jsp页面的 静态内容 <welcome-file-list> <welcome-file>/WEB-INF/views/download.jsp</welcome-file> </welcome-file-list> 三、动态页面 对于Servlet: 如果某个Servlet的映射路径仅仅为一个正斜杠(/),那么这个Servlet就成为当前Web应用程序的缺省Servlet。 凡是在web.xml文件中找不到匹配的<servlet-mapping>元素的URL,它们的访问请求都将交给缺省Servlet处理,也就是说,缺省Servlet用于处理所有其他Servlet都不处理的访问请求。 对于动态页面(如展示访问servlet后返回数据的页面),可做如下配置,这时访问上述链接时就相当于是访问download这个servlet。 1 <servlet> 2 <servlet-name>springmvc</servlet-name> /

Spring-MVC开发步骤(入门配置)

大兔子大兔子 提交于 2020-01-09 01:29:58
Spring-MVC开发步骤(入门配置) Step1.导包 spring-webmvc Step2.添加spring配置文件 Step3.配置DispatcherServlet 在web.xml中: <servlet> <servlet-name>springmvc</servlet-name> <servlet-class> org.springframework.web.servlet.DispatcherServlet </servlet-class> <!-- DispatcherServlet的初始化方法会启动spring容器, contextConfigLocation用来指定spring配置文件的位置 --> <init-param> <param-name>contextConfigLocation</param-name> <param-value>classpath:spring-mvc.xml</param-value> </init-param> <load-on-startup>1</load-on-startup> </servlet> <servlet-mapping> <servlet-name>springmvc</servlet-name> <url-pattern>*.do</url-pattern> </servlet-mapping>

Spring框架--MVC配置

假如想象 提交于 2020-01-09 01:29:30
在使用MVC时首先需要导入jar包,首先是Spring的核心包(4+1) Spring-web的包 Spring-webmvc的包 然后在web.xml中配置前端控制器   <servlet>     <servlet-name>dispatcherServlet</servlet-name>     <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>     <init-param>       <param-name>contextConfingLocation</param-name>       <param-value>classpath:配置处理器适配器等三大组件的配置文件名</param-value>     </init-param>     <load-on-startup>1</load-on-startup>   </servlet>   <servlet-mapping>     <servlet-name>dispatcherServlet</servlet-name>     <url-pattern>/</url-pattern>   </servlet-mapping> 然后配置XML文件,里面包含SpringMVC的三大组件  

SpringMVC源码解析-DispatcherServlet启动流程和初始化

[亡魂溺海] 提交于 2020-01-09 01:29:19
在使用springmvc框架,会在web.xml文件配置一个DispatcherServlet,这正是web容器开始初始化,同时会在建立自己的上下文来持有SpringMVC的bean对象。 先从DispatcherServlet入手,从名字来看,它是一个Servlet。它的定义如下: public class DispatcherServlet extends FrameworkServlet { 它是继承FrameworkServlet,来看一下整个的继承关系。 从继承关系来看,DispatcherServlet继承FrameworkServlet和HttpServletBean而继承HttpServlet,通过使用Servlet API 来对HTTP请求进行响应,成为SpringMVC的前端处理器。 先看一个时序图 注:作为Servlet,DispatcherServlet的启动和Servlet的启动相关联的。在Servlet初始化过程中,Servlet的init方法会被调用,以进行初始化,然而DispatcherServlet的基类,所以从HttpServletBean中的初始化过程开始。 DispatcherServlet的工作分为2部分,一部分是初始化(也就是图的上半部分),有initServletBean()启动,通过initWebApplicationContext(

Spring MVC 配置 (转自:http://blog.csdn.net/wangdonghua2261/article/details/3872926)

不问归期 提交于 2020-01-09 01:28:04
一,配置分发器 DispatcherServlet 是Spring MVC 的入口 所有进入Spring Web 的 Request 都经过 DispatcherServlet 需要在 web.xml 中注册 DispatcherServlet <servlet> <servlet-name>dispatherContext</servlet-name> <servlet-class> org.springframework.web.servlet.DispatcherServlet </servlet-class> <load-on-startup>1</load-on-startup> </servlet> 加载 DispatcherServlet 时 Spring 会尝试读取配置文件 默认的配置文件位于 web.xml 相同的路径下 文件名与注册的 Servlet 名有关 Servlet注册名跟上 -servlet.xml 例如:上面的 Servlet 注册名为 dispatcherContext 那么 默认的 配置文件名位:dispatcherContext-servlet.xml 当然 也可以明确配置文件 需要在注册 servlet 时 设定初始化参数 <init-param> <param-name>contextConfigLocation</param-name>