浅谈servlet与jsp的关系

2025-05-29 0 26

servlet是用java语言编写的,是一个java类。主要功能是用来接受、处理客户端的请求,并把处理结果返回到客户端显示。Jsp是servlet发展后期的产物。在没有jsp之前,servlet利用输出流动态生成整个HTML页面,输出内容包括每一个HTML标签和每个在HTML页面中出现的内容。HTML文件包含大量标签和大量静态文本及格式等,以及所有的表现逻辑,包括布局、色彩及图像等。这些内容都必须耦合在java代码中,这样就导致servlet开发效率低下,令人不胜其烦。jsp出现后弥补了不足,因为jsp文件是通过在标准的HTML页面中插入java代码形成的。其静态的部分无需java程序控制,只有那些需要从数据库读取并根据程序动态生成信息时,才使用java脚本控制。所以jsp技术出现后,主要用jsp文件来动态生成HTML文件,然后返回客户端显示。现在的servlet,当需要将整个页面作为结果返回时,不再由其自己去处理,而是调用jsp文件。

下面开发部署一个简单的servlet程序来展示:

1.创建处理请求的servlet文件:

?

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31
package com.servlet.study;

import java.io.IOException;

import java.io.PrintWriter;

import javax.servlet.ServletException;

import javax.servlet.http.HttpServlet;

import javax.servlet.http.HttpServletRequest;

import javax.servlet.http.HttpServletResponse;

public class HelloWorldServlet extends HttpServlet {

@Override

protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {

super.doGet(req, resp);

}

@Override

protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {

resp.setContentType("text/html;charset=UTF-8");

req.setCharacterEncoding("UTF-8");

String userName = req.getParameter("username");

String passWord = req.getParameter("password");

PrintWriter out = resp.getWriter();

out.print("<html>");

out.print("<head>");

out.print("<title>Helloworld</title>");

out.print("</head>");

out.print("<body>");

out.print("<hr>");

out.println("The username is "+userName);

out.println("The password is "+passWord);

out.print("</body>");

out.print("</html>");

}

}

2.创建HTML文件:

?

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26
<!DOCTYPE html>

<html>

<head>

<meta charset="UTF-8">

<title>用户登录页面</title>

</head>

<body>

<h1 align="center">登录系统</h1><hr>

<form action="helloworld_servlet" method = "post">//表单的action其实指明了servlet的url

<table>

<tr>

<td>用户名</td>

<td><input type="text" name="username"></td>

</tr>

<tr>

<td>密码</td>

<td><input type="password" name="password"></td>

</tr>

<tr>

<td><input type="reset" value="重填"></td>

<td><input type="submit" value="提交"></td>

</tr>

</table>

</form>

</body>

</html>

3.在web.xml中配置servlet:

?

1

2

3

4

5

6

7
<servlet>

<servlet-name>HelloWorldServlet</servlet-name>

<servlet-class>com.servlet.study.HelloWorldServlet</servlet-class>//实现类4</servlet>

<servlet-mapping>//映射

<servlet-name>HelloWorldServlet</servlet-name>

<url-pattern>/helloworld_servlet</url-pattern>//“/”是必须的

</servlet-mapping>

注:servlet类必须继承HttpServlet类,而且得重写doGet、doPost方法,并创建out对象。doGet方法是HttpServlet类中处理get请求的方法,doPost处理post请求。在表单中声明method,并在servlet类中编写相对应方法即可,本例特为post请求。

以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,同时也希望多多支持快网idc!

原文链接:http://www.cnblogs.com/Miracle-Maker/p/6429544.html

收藏 (0) 打赏

感谢您的支持,我会继续努力的!

打开微信/支付宝扫一扫,即可进行扫码打赏哦,分享从这里开始,精彩与您同在
点赞 (0)

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。

快网idc优惠网 建站教程 浅谈servlet与jsp的关系 https://www.kuaiidc.com/118581.html

相关文章

发表评论
暂无评论