当前位置: 首页 > wzjs >正文

东莞企业网站制作成人短期电脑培训班学费

东莞企业网站制作,成人短期电脑培训班学费,合肥新闻 今天 最新消息,网站充值这么做介绍 Servlet就是sun公司开发动态web的一门技术。Sun公司在这些API中提供了一个接口:Servlet,如果像开发Servlet程序,只需要完成两个步骤。 编写一个类,实现Servlet接口把开发好的Java类部署到web服务器中。 把实现了Servlet接…

介绍

  • Servlet就是sun公司开发动态web的一门技术。
  • Sun公司在这些API中提供了一个接口:Servlet,如果像开发Servlet程序,只需要完成两个步骤。
    • 编写一个类,实现Servlet接口
    • 把开发好的Java类部署到web服务器中。

把实现了Servlet接口的Java程序叫做Servlet。

HelloServlet

Servlet接口Sun公司有两个默认的实现类:HttpServlet,GenericServlet

1.构建一个普通的Maven项目。

2.删除src文件。此后学习内容存放在项目下。这个空工程就是Maven主工程

3.导入Maven中Servlet的依赖。(可直接网上查找最新的)

<dependencies>
    <dependency>
        <groupId>javax.servlet</groupId>
        <artifactId>javax.servlet-api</artifactId>
        <version>4.0.1</version>
        <scope>provided</scope>
    </dependency>
    <dependency>
        <groupId>javax.servlet.jsp</groupId>
        <artifactId>jsp-api</artifactId>
        <version>2.1</version>
        <scope>provided</scope>
    </dependency>
    </dependencies>

4.创建子项目。

创建成功后,父项目中会自动生成

<modules>
    <module>servlet001</module>
</modules>

注:父项目中的Java子项目可以直接使用。

5.建立java与resources文件,详细见javaweb基础一篇。详细结构如

6.编写一个Servlet程序

  • 编写一个普通类        

  • 实现Servlet接口,这里直接继承HttpServlet接口

public class HelloServlet extends HttpServlet {//由于get与post只是请求实现的不同方式,可以相互调用,业务逻辑一样@Overrideprotected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {PrintWriter writer = resp.getWriter();//响应流writer.print("Hello,Servlet");}@Overrideprotected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {super.doPost(req, resp);}
}

7.编写Servlet的映射

为什么要映射:因为上方写的是Java程序,但是需要通过浏览器访问,而浏览器需要连接web服务器,所以我们需要再web服务器中注册我们写的Servlet,还需要给他一个浏览器能够访问的路径。

在web.xml文件中配置映射

8.配置Tomcat

详细见上一节。

9.启动测试

Servlet原理

Servlet是由Web服务器调用,web服务器在收到浏览器请求之后,会:

Mappint问题

1.一个Servlet可以指定一个映射路径

<!--Servlet的请求路径-->
<!--localhost:8080/s2/hello-->
<servlet-mapping>
  <servlet-name>hello</servlet-name>
  <url-pattern>/hello</url-pattern>
</servlet-mapping>

2.一个Servlet可以指定多个映射路径

<servlet-mapping>
  <servlet-name>hello</servlet-name>
  <url-pattern>/hello</url-pattern>
</servlet-mapping>
<servlet-mapping>
  <servlet-name>hello</servlet-name>
  <url-pattern>/hello1</url-pattern>
</servlet-mapping>
<servlet-mapping>
  <servlet-name>hello</servlet-name>
  <url-pattern>/hello2</url-pattern>
</servlet-mapping>

3.一个Servlet可以指定通用映射路径

<servlet-mapping>
  <servlet-name>hello</servlet-name>
  <url-pattern>/hello/*</url-pattern>
</servlet-mapping>

4.默认请求路径

<servlet-mapping>
  <servlet-name>hello</servlet-name>
  <url-pattern>/*</url-pattern>
</servlet-mapping>

5.指定一些后缀或者前缀等

添加后缀时,不能添加项目映射的路径,正确格式如下:

<servlet-mapping>
  <servlet-name>hello</servlet-name>
  <url-pattern>*.do</url-pattern>
</servlet-mapping>

6.优先级问题

指定了固有的映射路径,优先级最高,如果找不到,就会走默认的请求。

ServletContext

web容器在启动的时候,它会为每个web程序都创建一个对应的ServletCotext对象,它代表了当前的web应用。

共享数据

  • 在这个Servlet中保存的数据,可以在另外一个Servlet拿到数据。
  • 1.需要放置数据的类
  • //存储数据
    public class HelloServlet extends HttpServlet {@Overrideprotected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {ServletContext context = this.getServletContext();String username="张三";context.setAttribute("username",username);//将数据保存在ServletContext中,(key,vlue),名字,值}
    }
  • 2.需要一个读取数据的类
  • //获取数据
    public class GetServlet extends HttpServlet {@Overrideprotected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {ServletContext context = this.getServletContext();//获取ServletContext对象String username = (String) context.getAttribute("username");//获取建,得到object类型,强制转化为String类型resp.setContentType("text/html");resp.setCharacterEncoding("utf-8");//设置编码resp.getWriter().print("名字"+username);}@Overrideprotected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {doGet(req, resp);//在doPost里面调用doGet}
    }
  • 3.以及配置web.xml文件
  • <!--配置两个文件的请求路径--><servlet><servlet-name>hello</servlet-name><servlet-class>com.serenity.servlet.HelloServlet</servlet-class>
    </servlet><servlet-mapping><servlet-name>hello</servlet-name><url-pattern>/hello</url-pattern></servlet-mapping><servlet><servlet-name>getc</servlet-name><servlet-class>com.serenity.servlet.GetServlet</servlet-class></servlet><servlet-mapping><servlet-name>getc</servlet-name><url-pattern>/getc</url-pattern></servlet-mapping>

    测试结果:

获取初始化参数

1.在web.xml中配置初始化参数

2.使用,编写一个类

3.在web.xml中配置新文件的请求路径。

    <servlet><servlet-name>gp</servlet-name><servlet-class>com.serenity.servlet.ServletDemo03</servlet-class></servlet><servlet-mapping><servlet-name>gp</servlet-name><url-pattern>/gp</url-pattern></servlet-mapping>

运行结果为:

请求转发

1.编写一个请求转发的类

2.配置web.xml文件(每次想要实现前端,都需要配置,后期不重复)

结果显示:

原理:A想要从B页面请求到C页面的内容,由B页面向C页面发生请求,收到C页面的响应后,由B页面响应给A页面。


读取资源文件

Properties类:

  • 在Java目录下新建properties(需要在pom.xml中的build中配置resources,来防止我们资源导出失败的问题,具体代码可直接搜索)
  • 在resources目录下新建properties

两个资源创建时不同路径,但都会被打包在同一个路径下(classes),该路径被称为classpath

1.建立资源:在resources目录下创建文件

2.创建类

3.在web做映射

4.清除数据,重新加载项目

结果显示:

http://www.dtcms.com/wzjs/88372.html

相关文章:

  • 快速优化网站建设商务软文写作300
  • 黑龙江省城乡建设厅网站首页优化网站最好的刷排名软件
  • 深圳做微商网站制作百度免费注册
  • 企业网站建设全包seo赚钱吗
  • 安阳专业做网站公司如何关闭2345网址导航
  • 罗湖实惠的网站建设费用百度灰色词优化排名
  • 深圳外贸公司前十名湖南企业竞价优化服务
  • 营销网站建设联系方式国际国内新闻最新消息今天
  • 找到网站后台地址广州百度推广优化
  • 企业手机网站设计营销策划运营培训机构
  • 党建网站建设问题淘宝指数在线查询
  • 北京海淀区制药企业湖南网站营销seo多少费用
  • 专做秒杀活动的网站成都seo达人
  • 网站建设与管理课程心得体会免费精准客源
  • 个人网页模板背景seo综合查询
  • 赣州做网站的公司有哪家厦门seo小谢
  • 怎样在国外网站做推广网络营销的认识
  • 如何做网站广告图片下载百度官方版
  • 徐州专业做网站的营销型网站的公司
  • 网站图标代码济南网站建设公司
  • 吴中网页设计报价陕西网络营销优化公司
  • 高明网站设计公司销售方案
  • 做微网站多少钱网络营销的基本方法有哪些
  • wordpress判断子分类seo是如何优化
  • 安顺市哪里可以做网站产品营销方案策划
  • 卧龙区网站制作seo自己怎么做
  • 网址大全查询网站百度客户端手机版
  • 关于公司门户网站建设的议案什么关键词能搜到资源
  • 给网站做优化怎么做廊坊网站设计
  • 懒人建站网站点击量与排名