1.简单servlet开发配置示例
java servlet API包括2个基本的包,javax.servlet和javax.servlet.http。其中javax.servlet提供了用来控制servlet生命周期所需的类和接口,是编写servlet必须的。javax.servlet.http提供了处理与http相关的类和接口,每个servlet必须实现servlet接口。
//---------------HelloWorld.java---------------
package servlets;
imp
imp
imp
imp
imp
imp
public class HelloWorld extends HttpServlet {
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
response.setContentType("text/html");
PrintWriter out = response.getWriter();
out.println("<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\">");
out.println("<HTML>");
out.println(" <HEAD><TITLE>Hello World!</TITLE></HEAD>");
out.println(" <BODY>");
out.print(" <h1>Hello World<h1> ");
out.println(" </BODY>");
out.println("</HTML>");
out.flush();
out.close();
}
}
//--------------------WEB-XML------------------
<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.5"
xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">
<servlet>
<servlet-name>HelloWorld</servlet-name>
<servlet-class>servlets.HelloWorld</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>HelloWorld</servlet-name>
<url-pattern>/HelloWorld</url-pattern>
</servlet-mapping>
</web-app>
-输入http://127.0.0.1:8080/servletConfig/HelloWorld
显示Hello World
2.JSP页面调用Servlet的方法
在HelloWorld程序中直接输入Servlet的地址进行访问。而在实际应用中这样是不行的,是通过调用Servlet进行访问,下面介绍两种调用Servlet的方法。
(1)通过表单提交调用Servlet
通过表单提交调用Servlet时,把表单act
//------------------------form.jsp----------------
<%@ page language="java" pageEncoding="gbk"%>
<head>
<html:base />
<title>form.jsp</title>
</head>
<body>
<html:form act
<table border="0">
<tr>
<td>姓名:</td>
<td><html:text name="login" /></td>
</tr>
<tr>
<td>密码:</td>
<td><html:password name="password" /></td>
</tr>
<tr>
<td colspan="2" align="middle"><html:submit value="提交"/></td>
</tr>
</table>
</html:form>
</body>
</html:html>
//---------------AcceptForm.java--------------
package servlets;
imp
imp
imp
imp
imp
imp
class AcceptForm extends HttpServlet {
public AcceptForm() {
super();
}
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
response.setContentType("text/html");
response.setCharacterEncoding("gbk");
PrintWriter out = response.getWriter();
String login = new String(request.getParameter("login").getBytes("iso-8859-1"));//避免中文乱码进行了强制转换,最好写过滤器
String password =new String( request.getParameter("password").getBytes("iso-8859-1"));
out.print(" 提交的表单内容为 ");
out.print("姓名:" + login);
out.println("密码:"+password);
}
public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
doGet(request, response);
}
}
//----------WEB-XML-------------
<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.5" xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">
<servlet>
<description>This is the description of my J2EE component</description>
<display-name>This is the display name of my J2EE component</display-name>
<servlet-name>AcceptForm</servlet-name>
<servlet-class>servlets.AcceptForm</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>AcceptForm</servlet-name>
<url-pattern>/AcceptForm</url-pattern>
</servlet-mapping>
<welcome-file-list>
<welcome-file>index.jsp</welcome-file>
</welcome-file-list>
<login-config>
<auth-method>BASIC</auth-method>
</login-config>
</web-app>