在刚开始使用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按钮后