IDEA中新建getservletrequest使用request.getmethod()方法报错

IDEA——Maven Web工程:源目录下新建Servlet出错
继,可以在设置好的源目录下创建Java类文件了,
但是又遇到了一个问题:在该目录下新建Servlet时出错,如下~
方法:添加servlet依赖
访问:,搜索servlet即可,
当然,使用最多的是如下的版本,servlet3.0开始提供注解支持,非常方便~
&javax.servlet&
&javax.servlet-api&
&provided&
现在再新建servlet,就一切正常了~
没有更多推荐了,
加入CSDN,享受更精准的内容推荐,与500万程序员共同成长!问题idea 新建servlet
老师用myeclipse新建一个servlet时就已经重写了doget,dopost,init,destroy了,idea如何实现?
写下你的评论...
Copyright (C) 2018 imooc.com All Rights Reserved | 京ICP备 号-11刚开始用IDEA开发,还不太熟悉,因此写一个教程,加深印象
1、新建一个Web项目
两种方法:java 和&Java Enterprise(推荐)
第一种)通过Java工程创建,这个方法需要手动导入Tomcat的servlet包才能使用servlet
导入包的方法是创建项目并配置好Tomcat后,File-&Project Structure,点击 Modules --& 选中项目“JavaWeb” --&&&切换到 Dependencies 选项卡 --& 点击右边的“+”
选中Tomcat中的Jar包
添加后,如下所示
第二种方法)通过Java Enterprise创建,这个方法会自动导入Tomcat的servlet包
输入项目名
完整的项目结构如下
2、web项目配置
& &2.1在web目录下的WEB-INF下新建两个目录lib和classes
  2.2File-&Project Structure,点击 Modules --& 选中项目“JavaWeb” --& 切换到 Paths 选项卡 --& 勾选 “Use module compile output path”,将 “Output path” 和 “Test output path” 都改为之前创建的classes目录
2.3&点击 Modules --& 选中项目“JavaWeb” --& 切换到 Dependencies 选项卡 --& 点击右边的“+”,选择 “JARs or directories...”,选择创建的lib目录,这个目录用来存放依赖的jar包
选择Jar Directory
3. Tomcat配置
3.1 Run -& Edit Configurations,进入“Run Configurations”窗口,点击"+"-& Tomcat Server -& Local,创建一个新的Tomcat容器
3.2 在"Name"处输入新的服务名,点击“Application server”后面的“Configure...”,弹出Tomcat Server窗口,选择本地安装的Tomcat目录 -& OK
4. JavaWeb测试
4.1 Run -& Edit Configurations,进入“Run Configurations”窗口,选择之前配置好的Tomcat,点击“Deployment”选项卡,点击“+” -& “Artifact”-& 选择创建的web项目的Artifact...修改“Application context”-& Apply -& OK
说明:此处的Application context是指定本工程的根目录
4.2 在index.jsp文件中的body之间添加要显示的内容,然后点击“运行”的绿色三角
打开浏览器,输入:localhost:8080/JavaWeb
&二、Servlet简单实现
1、在src目录下新建一个类
package com.uestc.www.
import javax.servlet.ServletEimport javax.servlet.http.HttpSimport javax.servlet.http.HttpServletRimport javax.servlet.http.HttpServletRimport java.io.IOEimport java.io.PrintW
public class Aservlet extends HttpServlet {
public void init() throws ServletException{
message = "hello world!!";
public void doGet(HttpServletRequest request, HttpServletResponse response) throws IOException {
// 设置响应内容类型
response.setContentType("text/html");
// 实际的逻辑是在这里
PrintWriter out = response.getWriter();
out.println("&h1&" + message + "&/h1&");
2、对Servlet进行配置,有两个方法
1)在web.xml中对servlet进行配置
在web.xml中配置Servlet的目的其实只有一个,就是把访问路径与一个Servlet绑定到一起,上面配置是把访问路径:“/hello”与“com.uestc.www.servlets.Aservlet”绑定到一起。
&servlet&:指定hello这个Servlet的名称为hello;
&servlet-mapping&:指定/hello访问路径所以访问的Servlet名为hello。
&servlet&和&servlet-mapping&通过&servlet-name&这个元素关联在一起了
2)利用注解进行配置
在servlet类的上面写入注解@WebServlet("/hello")
3. 运行servlet,点击运行按钮&在地址栏输入localhost:8080/JavaWeb/HelloWorld
阅读(...) 评论()request.getServletContext()的问题!
java.lang.NoSuchMethodError: javax.servlet.http.HttpServletRequest.getServletContext()Ljavax/servlet/ServletC
at test.UploadServlet.doPost(UploadServlet.java:59)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:637)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:293)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:859)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:602)
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489)
at java.lang.Thread.run(Thread.java:662)
web.xml 内容:
&?xml version=&1.0& encoding=&UTF-8&?&
&web-app xmlns:xsi=&http://www.w3.org/2001/XMLSchema-instance&
xmlns=&http://java.sun.com/xml/ns/javaee& xmlns:web=&http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd&
xsi:schemaLocation=&http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd&
version=&2.5&&
运行环境:win7 + myeclipse 10 + tomcat 6.0.35 + jdk 1.6 +&Java EE 6
用Java EE 5的话就直接request.getServletContext()报错了,编译都不通过!!!
ServletRequest的getServletContext方法是Servlet3.0添加的,这个可以看一下官方文档
而Tomcat6只支持到Servlet2.5看它的官方文档可以知道,要用J2EE6的话得换成Tomcat7
旧版本需要先用request拿到HttpSession或者通过Servlet自身拿到ServletConfig之后再获取ServletContext
test.UploadServlet.doPost(UploadServlet.java:59)
这里面你怎么写的
--- 共有 1 条评论 ---
// 文件保存目录路径
String savePath = request.getServletContext().getRealPath("/") + "upload/";
// 文件保存目录URL
//String saveUrl = request.getContextPath() + "/upload/";
String saveUrl = "upload/";
// 文件保存目录路径
String savePath =
request.getServletContext().getRealPath(&/&) + &upload/&;
// 文件保存目录URL
//String saveUrl = request.getContextPath() + &/upload/&;
String saveUrl = &upload/&;
就红色地方报错。。。
--- 共有 1 条评论 ---
javax.servlet.ServletContext
servletContext.getRealPath("/");
直接使用request.getRealPath(&/&) 就正常。但提示方法已经过时。
有没有更好的解决方法呢?
哎,搞定了,直接 用&
getServletContext()
getRealPath(&/&)&就行了!
String path=request.getContextPath().getRealPath(&/&)+&upload/&;
--- 共有 1 条评论 ---
有这种写法?你那边没报错?
引用来自“”的答案
// 文件保存目录路径
String savePath =
request.getServletContext().getRealPath(&/&) + &upload/&;
// 文件保存目录URL
//String saveUrl = request.getContextPath() + &/upload/&;
String saveUrl = &upload/&;
就红色地方报错。。。
request 请求里面有
getServletContext() 方法么,你自定义的啊
--- 共有 1 条评论 ---
有的,你自己试试
兄弟,我把方法传上来你给我找找!!!
--- 共有 1 条评论 ---
你用的是 Java EE 5 Libraries,
我用的是 Java EE 6 Libraries,
引用来自“”的答案哎,搞定了,直接 用&
getServletContext()
getRealPath(&/&)&就行了!getServletContext()
getRealPath(&/&)
getServletContext()&.&getRealPath(&/&) &
经过测试, 还是不行。
只有这样才能通过:
request.getSession().getServletContext().getRealPath(&/...&);IntelliJ IDEA无法引入HttpServletRequest和HttpSession包
[问题点数:92分,结帖人VitoYi]
IntelliJ IDEA无法引入HttpServletRequest和HttpSession包
[问题点数:92分,结帖人VitoYi]
不显示删除回复
显示所有回复
显示星级回复
显示得分回复
只显示楼主
2016年9月 Java大版内专家分月排行榜第三
2016年9月 Java大版内专家分月排行榜第三
2017年11月 Java大版内专家分月排行榜第一2017年10月 Java大版内专家分月排行榜第一2017年9月 Java大版内专家分月排行榜第一2017年8月 Java大版内专家分月排行榜第一2017年7月 Java大版内专家分月排行榜第一2017年6月 Java大版内专家分月排行榜第一2017年5月 Java大版内专家分月排行榜第一2017年4月 Java大版内专家分月排行榜第一2017年3月 Java大版内专家分月排行榜第一2017年2月 Java大版内专家分月排行榜第一
2017年12月 Java大版内专家分月排行榜第三
匿名用户不能发表回复!|

我要回帖

更多关于 getservletrequest 的文章

 

随机推荐