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

站群管理系统cmswordpress图片链接

站群管理系统cms,wordpress图片链接,网站建设功能定位怎么写,南宁百度seo软件介绍 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/541018.html

相关文章:

  • 济南集团网站建设费用茂名网站建设价格
  • 淘宝客网站需要备案wordpress增加底部导航
  • 安阳做网站优化浙江门户网站建设公司
  • 孟村住房建设局网站网站建设怎么做平台开发
  • 二级域名网站查询入口php网站分类目录源码
  • 网站 创意 方案互联网应用有哪些?
  • 做网站优化需要多少钱广州建网站费用
  • 怎么做网站站内优化wordpress标题添加新字
  • 怎样免费做彩票网站创意策划是做什么的
  • 惠州网站建设公司排名网页站点怎么命名
  • 网页设计与制作实践优化wordpress搜索结果
  • 南通企业自助建站泉州网站建设外包
  • 企业建网站品牌保定网站优化排名
  • 网站使用mip后效果怎么样江西住房和城乡建设信息网站
  • 上海网站建设优美化网页制作教程
  • 涿州做软件和网站的什么是搜索引擎优化推广
  • 外贸网站运营怎么做学做网站怎么样
  • 做外贸的物流网站有哪些南京公司网站建立
  • 郑州有哪些搞网站开发的公司网站建设和网站搭建哪个好
  • 自考网站建设与实践学跨境电商要多少钱
  • 网站内容页做301禅城网站制作
  • 网站文件夹命名怎么做wordpress gzip
  • 网站备案就是合法的asp.net 企业网站系统
  • 免费家装设计网站外包app公司不给源代码
  • 云南公司网站制作网站建设公司哪个好呀net网站建设
  • 上海开发网站做租车行网站
  • 全国知名网站沈阳企业制作网站
  • 如何开发网站自己做站长建设一个网站首先需要什么条件
  • 做文明人网站专题WordPress移动端小工具
  • 旅游网站建设的利益网页升级紧急通知狼急通知