BasicServlet

Java Servlet 实例

照着Java Servlet开发与实例的程序清单4.1和4.2写的。

初学者一定要注意修改项目中web-inf目录下的web.xml文件,添加以下内容,不然会出错

<servlet>
<servlet-name>***</servlet-name>
<servlet-class>包.类名称</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>***</servlet-name>
<url-pattern>/路径名称/**</url-pattern>
</servlet-mapping>
BasicServlet.java

package servlet;
import javax.servlet.*;
import javax.servlet.http.*;
import java.io.*;
import java.util.Enumeration;
public class BasicServlet extends HttpServlet{
	/**
	 * 
	 */
	private static final long serialVersionUID = 1L;
	public void init(ServletConfig config)
	throws ServletException{
		super.init(config);
	}
	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>BasicServlet</title></head>");
		out.println("<body>");
		out.println("Your request method was "+request.getMethod()+"\n");
		Enumeration parameters=request.getParameterNames();
		String param=null;
		while(parameters.hasMoreElements()){
			param=(String)parameters.nextElement();
			out.println("<b>"+param+":"+request.getParameter(param)+"</b><br>");
		}
		out.println("</body></html>");
		out.close();
	}
	public void doPost(HttpServletRequest request,
			HttpServletResponse response)
	throws ServletException,IOException{
		response.setContentType("text/html");
		PrintWriter out=response.getWriter();
		out.println("<html>");
		out.println("<head><title>BasicServlet</title></head>");
		out.println("<body>");
		out.println("Your request method was "+request.getMethod()+"\n");
		Enumeration parameters=request.getParameterNames();
		String param=null;
		while(parameters.hasMoreElements()){
			param=(String)parameters.nextElement();
			out.println("<b>"+param+":"+request.getParameter(param)+"</b><br>");
		}
		out.println("</body></html>");
		out.close();	
	}
	public String getServlerInfo(){
		return "BasicServlet Information";
	}


}

Form.html

<html>
<head>
<title>Form</title>
</head>
<body>
<form action=http://localhost:8080/BasicServlet/servlet.BasicServlet method=POST>
<table style="height:173px; width:300px">
<tr>
<td>Last Name:</td>
<td><input type=text name="LastName" align="left" size="15"></td>
</tr>
<tr>
<td>First Name:</td>
<td><input type=text name="FirstName" align=left size=15> </td>
</tr>
<tr>
<td>SSN:</td>
<td><input type=text align=left name=SSN size=11> </td>
</tr>
<tr>
<td>DOB:</td>
<td><input type=text align=left name=DOB size=8> </td>
</tr>
<tr>
<td>Username:</td>
<td><input type=text align=left name=Username> </td>
</tr>
<tr>
<td>Password:</td>
<td><input type=password align=left name=Password size=8> </td>
</tr>
</table>
<input type="submit" name="Submit" value="Submit">
<input type="reset" value="Reset">
</form>
</body>
</html>


HTTP状态 500 - 内部服务器错误 类型 异常报告 消息 java.lang.reflect.InvocationTargetException 描述 服务器遇到一个意外的情况,阻止它完成请求。 例外情况 java.lang.RuntimeException: java.lang.reflect.InvocationTargetException com.stu.web.BasicServlet.doPost(BasicServlet.java:29) com.stu.web.BasicServlet.doGet(BasicServlet.java:36) jakarta.servlet.http.HttpServlet.service(HttpServlet.java:564) jakarta.servlet.http.HttpServlet.service(HttpServlet.java:658) org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51) 根本原因。 java.lang.reflect.InvocationTargetException java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:118) java.base/java.lang.reflect.Method.invoke(Method.java:580) com.stu.web.BasicServlet.doPost(BasicServlet.java:26) com.stu.web.BasicServlet.doGet(BasicServlet.java:36) jakarta.servlet.http.HttpServlet.service(HttpServlet.java:564) jakarta.servlet.http.HttpServlet.service(HttpServlet.java:658) org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51) 根本原因。 org.apache.jasper.JasperException: 无法在web.xml或使用此应用程序部署的jar文件中解析绝对uri:[https://jakarta.ee/xml/ns/jakartaee/jstl/core] org.apache.jasper.compiler.DefaultErrorHandler.jspError(DefaultErrorHandler.java:37) org.apache.jasper.compiler.ErrorDispatcher.dispatch(ErrorDispatcher.java:270) org.apache.jasper.compiler.ErrorDispatcher.jspError(ErrorDispatcher.java:77) org.apache.jasper.compiler.TagLibraryInfoImpl.generateTldResourcePath(TagLibraryInfoImpl.java:248) org.apache.jasper.compiler.TagLibraryInfoImpl.<init>(TagLibraryInfoImpl.java:122) org.apache.jasper.compiler.Parser.parseTaglibDirective(Parser.java:410) org.apache.jasper.compiler.Parser.parseDirective(Parser.java:463) org.apache.jasper.compiler.Parser.parseElements(Parser.java:1356) org.apache.jasper.compiler.Parser.parse(Parser.java:132) org.apache.jasper.compiler.ParserController.doParse(ParserController.java:243) org.apache.jasper.compiler.ParserController.parse(ParserController.java:106) org.apache.jasper.compiler.Compiler.generateJava(Compiler.java:195) org.apache.jasper.compiler.Compiler.compile(Compiler.java:368) org.apache.jasper.compiler.Compiler.compile(Compiler.java:346) org.apache.jasper.compiler.Compiler.compile(Compiler.java:332) org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:592) org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:376) org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:357) org.apache.jasper.servlet.JspServlet.service(JspServlet.java:308) jakarta.servlet.http.HttpServlet.service(HttpServlet.java:658) org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51) com.stu.web.FurnServlet.list(FurnServlet.java:29) java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) java.base/java.lang.reflect.Method.invoke(Method.java:580) com.stu.web.BasicServlet.doPost(BasicServlet.java:26) com.stu.web.BasicServlet.doGet(BasicServlet.java:36) jakarta.servlet.http.HttpServlet.service(HttpServlet.java:564) jakarta.servlet.http.HttpServlet.service(HttpServlet.java:658) org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51) ):注意 主要问题的全部 stack 信息可以在 server logs 里查看 Apache Tomcat/10.1.40
05-23
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值