JavaWeb的Servlet使用方法

本文介绍了一位新手在使用Servlet过程中遇到的问题及解决办法,重点讲解了formaction属性与servlet-mapping的关系,以及如何正确配置servlet模版。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在刚开始使用Servlet的时候因为是新手,所以碰到了许多问题以至于一直调用不了Servlet文件。 现在我就总结一下常见的问题以及解决方法。
1.form action里的url一定要与servlet-mapping里url-pattern的内容相同否则会出现404错误

在这里插入图片描述
main.jsp代码

 <%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>
<html>
<body bgcolor=pink>
<form action="index.jsp">
<font size=5>
<p>通过Servlet跳转到的页面
<br><input type="submit" name="eb"value="exit">
</font>
</form>
</body>
</htm

2.在创建servlet的时候建议使用模版新建servlet这样在web.xml文件里会自动帮你配置servlet和servlet-mapping,如果自己创建servlet的话就需要自己手动添加并配置好servlet和servlet-mapping
servlet模版

くservlet>
	<deseription>描述内容く/description>*
	<display- name>显示名</display- name> *
	<servlet- name>servlet名</servlet- name>
	<servlet-class>servlet类名</servlet- class>
	<jsp- file>JSP文件名</jsp- file>
	<init-param> ?
		<param-name>参数名< /param-name>
		<param-value>参数值< /param-value>
	< /init- param>
	<load-on-startup>一个整形值< /load-on-startup> ?
	< security- role- ref>*
		<role-name>角色名</role- name>
		<role-1ink>角色的一个引用</role-link>
	</security- role-ref>
</servlet>

在配置servlet部分的时候和是必不可少的重要部分特别是里 写的servlet类名要写完整限定名称,即包括包(路径)名
servlet-mapping模版

<servlet-mapping>
	<servlet-name>servlet名</servlet-name>
	<url-pattern>URL路径</url-pattern>
</servlet-mapping>

写到servlet包的位置即可
web-xml
在这里插入图片描述
servlet代码(这只是简单跳转页面的servlet主要功能在doPost部分)

package Servlet;

import java.io.IOException;
import java.io.PrintWriter;

import javax.servlet.RequestDispatcher;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

public class T1 extends HttpServlet {

	/**
	 * Constructor of the object.
	 */
	public T1() {
		super();
	}

	/**
	 * Destruction of the servlet. <br>
	 */
	public void destroy() {
		super.destroy(); // Just puts "destroy" string in log
		// Put your code here
	}

	public void doGet(HttpServletRequest request, HttpServletResponse response)
			throws ServletException, IOException {
	}
	public void doPost(HttpServletRequest request, HttpServletResponse response)
			throws ServletException, IOException {
		RequestDispatcher dis=null;
		dis=getServletContext().getRequestDispatcher("/main.jsp");
		dis.forward(request, response);
		
	}

	public void init() throws ServletException {
		// Put your code here
	}

}

运行效果:
在这里插入图片描述
点击提交按钮后
在这里插入图片描述
点击exit按钮后
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值