3.Servlet实例
一.基础实例
1.参照如下例子创建maven web工程:
https://www.cnblogs.com/lukelook/p/9187313.html
2.创建一个简单的Servlet 类
package com.my.web; import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse; /**
* Servlet implementation class CallWeb
*/
public class CallWeb extends HttpServlet {
private static final long serialVersionUID = 1L; /**
* @see HttpServlet#HttpServlet()
*/
public CallWeb() {
super();
// TODO Auto-generated constructor stub
} /**
* @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
*/
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// TODO Auto-generated method stub
response.getWriter().append("<p>").append("This is just a test!").append("</p>");
response.getWriter().append("Served at: ").append(request.getContextPath());
} /**
* @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
*/
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// TODO Auto-generated method stub
doGet(request, response);
} }
3.在web.xml中配置如下:
<?xml version="1.0" encoding="UTF-8"?>
<web-app version="3.0"
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_3_0.xsd">
<!--如果 Servlet class 中已经用@WebServlet("/XXX")则不需要次配置,要不然会发生冲突-->
<!--
<display-name>Archetype Created Web Application</display-name>
<servlet>
<servlet-name>CallWeb</servlet-name>
<servlet-class>com.my.web.CallWeb</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>CallWeb</servlet-name>
<url-pattern>/CallWeb</url-pattern>
</servlet-mapping>
-->
</web-app>
4.Run On Server CallWeb.class
5.在浏览器中输入如下地址即可访问:
http://localhost:8080/myWeb/CallWeb

二.表单数据提交
1.JSP界面
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>show</title>
</head>
<body>
<form action="CallWeb" method="post">
<!--fieldset 对信息分组-->
<fieldset>
<legend>个人信息:</legend>
班级:<input list="browsers" name="stuClass">
<datalist id="browsers">
<option value="一一班">
<option value="一二班">
<option value="二一班">
<option value="二二班">
<option value="三一班">
</datalist><br/><br/>
用户名:<input type="text" name="stuName" id="stuName" value="请输入用户名"><br/><br/>
密码:<input type="password" name="stuPassword" id="stuPassword"><br/><br/>
<!-- label 当点击字时单选框也会被选上 -->
性别:<input type="radio" name="sex" value="女" id="male"><label for="male">女</label>
<input type="radio" name="sex" value="男" id="female"> <label for="female">男</label>
<input type="radio" name="sex" value="保密" id="unknow" checked="checked"><label for="unknow">保密</label><br/><br/>
</fieldset>
<fieldset>
<legend>其他信息:</legend>
兴趣爱好:<input type="checkbox" name="love" value="足球 ">足球
<input type="checkbox" name="love" value="篮球 ">篮球
<input type="checkbox" name="love" value="排球 ">排球<br/><br/>
地址: <select name="address">
<optgroup label="河南省">
<option value="RuZhou">汝州</option>
<option value="ZhengZhou">郑州</option>
</optgroup>
<optgroup label="陕西省">
<option value="XiAn">西安</option>
<option value="WeiNan">渭南</option>
</optgroup>
</select>
</fieldset>
<input type="submit" value="提交">
</form> </body>
</html>
2.Servlet处理类
package com.my.web; import java.io.IOException;
import java.io.PrintWriter; import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse; /**
* Servlet implementation class Show
*/
@WebServlet("/CallWeb")
public class CallWeb extends HttpServlet {
private static final long serialVersionUID = 1L; /**
* @see HttpServlet#HttpServlet()
*/
public CallWeb() {
super();
// TODO Auto-generated constructor stub
} /**
* @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
*/
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// TODO Auto-generated method stub
request.setCharacterEncoding("UTF-8");
response.setCharacterEncoding("UTF-8");
response.setContentType("text/html");
PrintWriter pw = response.getWriter();
pw.println("班级:"+request.getParameter("stuClass")+"<br/>");
pw.println("用户名:"+request.getParameter("stuName")+"<br/>");
pw.println("密码:"+request.getParameter("stuPassword")+"<br/>");
pw.println("性别:"+request.getParameter("sex")+"<br/>");
String[] arr=request.getParameterValues("love");
for (String string : arr) {
pw.println("兴趣:"+string+"<br/>");
}
pw.println("地址:"+request.getParameter("address")+"<br/>"); } /**
* @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
*/
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// TODO Auto-generated method stub
doGet(request, response);
} }
3.界面效果
3.Servlet实例的更多相关文章
- servlet的一个web容器中有且只有一个servlet实例或有多个实例的理解1
servlet的一个web容器中有且只有一个servlet实例或有多个实例的理解 (2013-06-19 19:30:40) 转载▼ servlet的非线程安全,action的线程安全 对提交 ...
- myeclipse实现Servlet实例(1) 通过继承servlet接口实现
1.在myeclipse新建web project,配置Tomcat(在myeclipse的Window--preferences) 2.然后在src新建servlet文件( 此处放在com.tsin ...
- Java Servlet(十一):一个servlet被10个浏览器客户端访问时会创建几个servlet实例?
一般Servlet只初始化一次(只有一个实例).对于更多的客户端请求,Server创建新的请求和响应对象,仍然激活此Servlet的service()方法,将这两个对象作为参数传递给该方法.如此重复以 ...
- Servlet:从入门到实战学习(3)---Servlet实例【图文】
本篇通过图文实例给大家详细讲述如何建立一个Servlet,配置好运行环境并成功连接到MYSQL的数据库,进行数据的查询展示. 1.项目创建:IDEA -> Create New Project ...
- Hessian Servlet实例
Servlet实例 业务场景 在下面的例子中我会发布一个简单的输出字符串的方法,然后在客户端调用并输出结果. 服务器端 环境搭建 在服务端,我们需要引入hessian和servlet的包.编写服务.配 ...
- Servlet实例解说
打开昨天上午,负责人突然问我,client控制信息,如何让在后台?我想回答:假设总体提交form,在C#使用代码request获取表单的内容.假设局部提交,在用JS和Ajax交互,通过Ajax的ope ...
- Servlet(9)—HttpServlet和改进Servlet实例
HttpServlet:针对Http协议定义的一个Servlet基类,唯一的功能就是强制类型转换ServletRequest转换成HttpServletRequest,ServletResponse转 ...
- Servlet(4)—一个简单的Servlet实例
简单实例 页面请求登陆,提交表单数据 <body> <form action="loginServlet" method="get"> ...
- 【JDBC】Servlet实例
import java.io.IOException;import java.io.PrintWriter;import java.sql.Connection;import java.sql.Dri ...
随机推荐
- 编译Qt-mingw使用的opencv
set path=D:\dev\IDE\Qt5.7.0\Tools\mingw530_32\bin;%path% cd build_mingw530_32 cmake -G "MinGW M ...
- WebService-01-使用jdk发布第一个WebService服务并调用
Webservice是SOAP+XML,SOAP是基于Http的,Http底层是Socket,先回顾一下Socket: Server: public class Server { public sta ...
- 【链表】 Reverse Linked List II
题目: Reverse a linked list from position m to n. Do it in-place and in one-pass. For example:Given 1- ...
- Javac语法糖之EnumSwitch
在Switch中可以使用的类型有枚举.字符串类型与整形int类型,下面来具体看这几个类型. 1.switch为枚举类型 枚举类: enum Fruit { APPLE,ORINGE } 调用javac ...
- epoll—IO多路复用
1.在socket.listen()后创一个epoll对象 epoll = select.epoll() 2.将server_socket注册到epoll中 epoll.regist ...
- 从入门到不放弃系列之Koa2
一.Koa2入门 本来是想Express入门的,但是既然都是要学,干嘛不学最新的呢? 其实我想说,我本来只是想学个小程序开发,现在已经陆陆续续开了好多坑了.. 本文参考廖雪峰教程 二.Async 最新 ...
- prometheus安装、使用
本文主要参考https://songjiayang.gitbooks.io/prometheus/introduction/what.html 二进制包安装 我们可以到 Prometheus 二进制下 ...
- Oracle 12c Lnux 启动脚本
#!/bin/bash # #oracle: Start/Stop Oracle Database 11g R2/12c # # chkconfig: # description: The Oracl ...
- springMVC实现json
很多时候前端都需要调用后台服务实现交互功能,常见的数据交换格式多是JSON或XML,这里主要讲解Spring MVC为前端提供JSON格式的数据并实现与前台交互. 一.概要 JSON(JavaScri ...
- rvm is not a function的解决方法
今天在使用rvm 1.9.3 --default设置默认的ruby的命令时出现 RVM is not a function, selecting rubies with 'rvm use ...' w ...
