了解servelet

了解servlet

静态页页即只包含了HTML文档的内容,与用户并没有任何交互。动态网页不仅可以动态显示数据,还可以与用户做交互。如完成登录,注册等一系列动作。不同用户访问相同的网页时,经常会发现所显示的内容是不相同的,这样的网页就是经过服务器动态生成的。servlet就是一种动态网页技术,
区 别:
servlet:单例,不安全,性能是好,处理HTTP请求的标准,只处理doPost(),doGet()方法。
springMVC:单列,不安全,开发效率高(好多共性的东西都封装好了,是对servlet的封装,核心的DispatcherServlet最终继承自HttpServlet),DispatcherServlet又叫前端控制器,能过滤处理所有的请求方法,还能查询HandlerMapping查找到相应的handler,进而调用相应的service和Dao,两者的关系如果MyBatis和JDBC,一个性能好,一个开发高效率高,是对另一个封装。

创建一个Maven项目

在Eclipse里面创建,FILE—NEW—Other—弹出的对话中选Maven—MavenProject-在这里插入图片描述
第二步:单击next
在这里插入图片描述
第三步:因为Eclipse没有自动创建项目需要的web.xml配置文件,可以复制或可以创建此文件,在每个项目下面都有一个DeploymentDescriptor:项目名称这件目录,在此上面右键----选择Generate Deployment Descriptor选项,会自动创建项目需要的web.xml文件。。
上面创建完项目后下面进行配置
使用Maven导入Servlet的jar包,在pom.xml中添加依赖。

<dependencies>
    <!--servlet-->
    <dependency>
      <groupID>javax.servlet</groupID>
      <artifacId>servlet-api</artifactId>
      <version>2.5</version>
      <scope>provided</scope>
    </dependency>
</dependencies>
123456789

配置请求路径,路径配置即指浏览器请求到达Web容器,并指定处理该请求的Servlet类,需要web.xml中以标签的形式进行配置,完成的标签包括servlet标签和servlet-mapping标签,servlet标签中的servlet-name标签表示对servlet进行命名,在整个WEB容器中该值是唯一的,servlet-class标签需要填写完整的类路径。servlet-mapping是请求映射标签,表示HTTP请求与servlet类的对应关系,对应关系通过两者都有的servlet-name的 值进行关 联。

 <?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" xmlns:web="http://java.sun.com/xml/ns/javaee" 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" version="2.5">
  <servlet>
    <servlet-name>UserServlet</servlet-name>
    <servlet-class>cn.itcast.bookstore.user.web.servlet.UserServlet</servlet-class>
  </servlet>
  <servlet>
    <servlet-name>CategoryServlet</servlet-name>
    <servlet-class>cn.itcast.bookstore.category.web.servlet.CategoryServlet</servlet-class>
  </servlet>
  <servlet>
    <servlet-name>BookServlet</servlet-name>
    <servlet-class>cn.itcast.bookstore.book.web.servlet.BookServlet</servlet-class>
  </servlet>
 
  <servlet-mapping>
    <servlet-name>UserServlet</servlet-name>
    <url-pattern>/UserServlet</url-pattern>
  </servlet-mapping>
  <servlet-mapping>
    <servlet-name>CategoryServlet</servlet-name>
    <url-pattern>/CategoryServlet</url-pattern>
  </servlet-mapping>
  <servlet-mapping>
    <servlet-name>BookServlet</servlet-name>
    <url-pattern>/BookServlet</url-pattern>
  </servlet-mapping>

  </web-app>
1234567891011121314151617181920212223242526272829

编写servlet,

public class HelloServlet extends HttpServlet{
	@Override
	/**
	 * 重写service方法
	 */
	public void service(HttpServletRequest request, HttpServletResponse response) 
			throws ServletException, IOException {
		
//		//配置UTF-8字符集以支持中文
//        response.setContentType("text/html;charst=utf-8");
//        response.setCharacterEncoding("UTF-8");
//        //获取输出流以输出数据到浏览器中
//        PrintWriter pw =  response.getWriter();
//        pw.write("我是Servlet服务端发送给浏览器的数据:Hello Servlet!");
//        pw.close();
		response.setContentType("text/html;charst=utf-8");
		response.setCharacterEncoding("utf-8");
		String name = "张三";
		int age = 16;
		PrintWriter pw =  response.getWriter();
		pw.write("<p style='color:red'>你好,我叫"+name+",今年"+age+"岁!<p>");
		pw.close();
	}
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值