中易网

一个servlet如何处理多个请求

答案:4  悬赏:0  
解决时间 2021-03-02 17:09
一个servlet如何处理多个请求
最佳答案
javax.servlet.http.HttpResponse类用于产生返回页面.通过HttpResponse定义的方法getOutputStream()可以获得ServletOutputStream的实例,这样用户就可以利用ServletOutputStream.write方法向输出流中写入返回页面的内容. 但是ServletOutputStream使用的是缺省的编码方式,如果要使返回页面中的中文字 符能够正常显示,最好显示地指定所用的字符编码方式. 通常需要构造一个 OutputStreamWriter , 例程如下:

public void doGet (HttpServletRequest req, HttpServletResponse res)
throws ServletException, IOException

{

res.setContentType("text/html");

ServletOutputStream out = res.getOutputStream();

OutputStreamWriter ow = new OutputStreamWriter(out,"GB2312");

ow.write("这是测试");

ow.flush();

ow.close();

}

如果对您有帮助,请记得采纳为满意答案,谢谢!祝您生活愉快!

vaela
全部回答
你这个样子: 首先在你的页面上放一个隐藏的表单元素.放在 <form> </form> 中 如第一个页面: <form> <input type=hidden value= "login " name= "tiger "> </form> 第二个页面: <form> <input type=hidden value= "main " name= "tiger "> </form> 这样的话.这个被隐藏了的是看不到的.你提交时就会把这个元素提交到服务器.在服务器中 servlet中就可以得到这个值了 在servlet中得到 你在doget或dopost方法中写上 如 public void doGet(HttpServletResquest request,HttpServletResponse response)throws ServletExcepiton,IOException { if (request.getParameter( "tiger ").equals( "login ")) login(request,response); if (request.getParameter( "tiger ").equals( "main ")) main(request,response); } 然后在这个servlet中定义两个处理方法 public void login(HttpServletResquest request,HttpServletResponse response)throws ServletExcepiton,IOException { out.println( "你来自login "); } public void main(HttpServletResquest request,HttpServletResponse response)throws ServletExcepiton,IOException { out.println( "你来自main "); } 上面的隐藏表单那个也可以换成getRequestURL方法。。估计你主要的是下面的代码吧?
servlet的生命周期: ① web服务器首先会检查是否已经装载并创建了该servlet实例对象。如果是直接进行第④步,否则执行第②步。 ② 装载并创建该servlet的一个实例对象。 ③ 调用servlet实例对象的init()方法。 ④ 创建一个用于封装http请求消息的httpservletrequest对象和一个代表http响应消息的httpservletresponse对象,然后调用service()方法并将请求和响应作为参数传递进去。 ⑤ web应用被停止或重启之前,servlet引擎将卸载servlet,在卸载之前调用servlet的destroy()方法 1. 当serlvet 第一次被调用的时候,会触发init函数,该函数会把servlet实例装载到内存.init 函数只会被调用一次 2. 然后去调用servlet 的 service 函数 3. 当第二次后访问该servlet 就直接调用 service 函数. 4. 当 web应用 reload 或者 关闭 tomcat 或者 关机 都会去调用destroy函数,该函数就 会去销毁serlvet 5. servlet的生命周期 当客户端第一次向web服务器发出一个servlet请求时,web服务器将会创建一个该servlet的实例,并且调用servlet的init()方法;如果当服务器已经存在了一个servlet实例,那么,将直接使用此实例;然后再调用service()方法,service()方法将根据客户端的请求方式来决定调用对应的doxxx()方法;当 web应用 reload 或者 关闭 tomcat 或者 关机,web服务器将调用destroy()方法,将该servlet从服务器内存中删除。 生命全过程: 加载 实例化 初始化 处理请求 退出服务
页面1:表单的action=login?method=login 页面2:表单的action=login?method=insert ..... login为servlet类 在doPost里面先request获取method的值(即login) 然后通过method的值采用不同方法进行处理。如下 public void doPost(HttpServletRequest request, HttpServletResponse response) { String method = request.getParameter("method"); if ("login".equals(method)) doLogin(request,response); else if("select".equals(method)) doSelect(request,response); else if("insert".equals(method)) doInsert(request,response); else if("delete".equals(method)) doDelete(request,response); else if("update".equals(method)) doUpdate(request,response); } public void doLogin(HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException{ }
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
一年四季 花期长得有哪些花?
世纪儿女宝贝母婴商品服务店新添寨北衙店在什
如何用C/C++实现树状图
朴槿惠63岁怎么还这么年轻
这个空怎么填?
古代文人被贬后为题作文400字左右
中国大地财产保险股份有限公司在职人员社保在
苏州公交哪个路线最长
招远金凤矿山机械怎么样
GODSON(时代广场)在什么地方啊,我要过去处理
电脑没办法登录百度云同步,提示网络异常,但
夫唱妇随是什么意思,"夫唱妇随"的汉语解释
天天酷跑目前为止最好的坐骑是什么?
西庄上我想知道这个在什么地方
股票的买入价格不能超过现价的正负百分之十吗
推荐资讯
安阳依迈电梯工程有限责任公司(德隆街)在哪里
=AVERAGE(4*TRUE,FALSE,TRUE+TRUE)
iphone6自带浏览器不能打开。也就是输入网址
中国农业银行乌鲁木齐中营工支行在哪里啊,我
问道手游离线刷道6-8点有效果吗
麻烦大家帮我找找 有关原始人的图片或漫画。
枣阳买了二手门面房有一百万元有国有出让土地
蒸鲜时代有加盟没加盟费
手臂被玻璃划了怎么办,要打破伤风吗?
如果对照片上的嘴型不满意,想要弄得自然一点,
名流美容养生这个地址在什么地方,我要处理点
买东西没提货可以退货吗
手机登qq时,显示手机磁盘不足,清理后重新登
刺客的套装怎么选啊?