通过JSP页面访问Servlet

我们可以通过JSP页面的表单或者超链接请求某个servlet。通过JSP页面访问servlet的好处是JSP页面负责页面的静态信息处理,动态信息处理有Servlet完成。

1.通过表单访问servlet

<form action 访问="islogin" method="post">

....

</form>

2.通过超链接访问Servlet

在JSP页面中,可以单击超链接访问Servlet对象,同时可以通过链接向Servlet提交信息。

<a herf ="loginSerlet? user=ty&pwd=zg">查看用户名和密码</a>

“查看用户名和密码”这个超链接就将user和pwd的两个信息提交给Servlet处理。


doGet()和doPost()方法

具体调用过程:

当服务器收到一个Servlet请求时,就会产生一个新进程,在这个线程中,让Servlet对象调用service()方法为请求做出响应。

service方法首先检查HTTP请求类型(get或post),并根据用户的请求方式,在service()方法中对应的调用doGet()或doPost()方法。

优点:

在Servlet类中重写doGet()或doPost()方法来响应用户的请求,可以增加响应的灵活度,同时减轻服务器的负担。

****

一般情况下无论用户请求是post或get,服务器的处理过程完全相同。

也可以在doPost()中写处理过程的代码,而在doGet()方法内再调用doPost方法。





要通过 JSP 页面访问 Servlet,可以按照以下步骤: 1. 创建一个 Servlet 类,并实现 `javax.servlet.Servlet` 接口。 2. 在 Servlet 类中重写 `doGet()` 或 `doPost()` 方法,根据需要处理请求并生成响应。 3. 在 `web.xml` 文件中配置 Servlet 的映射关系,以便将请求发送到 Servlet。 4. 在 JSP 页面中使用 `<form>` 标签或其他方式创建 HTML 表单,并将表单 `action` 属性设置为 Servlet 的 URL。 以下是一个简单的示例: 1. 创建一个 Servlet 类 ```java import javax.servlet.*; import javax.servlet.http.*; import java.io.*; public class MyServlet extends HttpServlet { public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { response.setContentType("text/html"); PrintWriter out = response.getWriter(); out.println("<html>"); out.println("<head><title>Hello World</title></head>"); out.println("<body>"); out.println("<h1>Hello World</h1>"); out.println("</body></html>"); } } ``` 2. 在 `web.xml` 文件中配置 Servlet 的映射关系 ```xml <web-app> <servlet> <servlet-name>MyServlet</servlet-name> <servlet-class>MyServlet</servlet-class> </servlet> <servlet-mapping> <servlet-name>MyServlet</servlet-name> <url-pattern>/myservlet</url-pattern> </servlet-mapping> </web-app> ``` 3. 在 JSP 页面中使用表单调用 Servlet ```html <form action="myservlet" method="get"> <input type="submit" value="Click me!"> </form> ``` 当用户点击表单中的按钮时,JSP 页面将向 `myservlet` URL 发送 GET 请求,并将请求发送到 `MyServlet` 类的 `doGet()` 方法中。`doGet()` 方法生成一个简单的 HTML 页面并将其发送回用户的浏览器。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值