问题1:java.lang.ClassNotFoundException: com.mysql.jdbc.Driver 解决方法
必须把mysql-connector-java-5.1.7-bin.jar导入到tomcat的lib目录下面!
在java项目中,只需要引入mysql-connector-java-5.1.7-bin.jar就可以运行java项目。
在web项目中,当Class.forName("om.mysql.jdbc.Driver");时,Idea是不会去查找字符串,不会去查找驱动的。所以需要把mysql-connector-java-5.1.7-bin.jar拷贝到tomcat下lib目录就可以了。
问题2:如何新建Maven项目区访问数据库? 学习一些基本的东西
控制台输出中文乱码问题的解决,在Tomcat配置的时候,添加上 -Dfile.encoding=UTF-8
如何防止Sql注入的问题?
问题3:Idea中添加jar包与添加依赖的区别是什么?
如果是添加maven依赖,需要在pom.xml中进行配置,但是如果是添加jar包,就不需要进行配置,lib中选中jar单击as library。
问题4:Idea工具栏跑右侧了如何解决?
View菜单---->ToolBar
ToolButtons:底部选项卡面板,特别好用。
Status bar:底部状态栏,显示编译状态
问题5:把资源文件放到resources,maven标准写法,比如log4j的配置文件
resources文件夹下是要分目录的,会有各种配置文件。
数据持久层与数据库连接池的结合使用(MyBatis)
问题6:HTTP method GET is not supported by this URL.
doGet(), doPost()不用调用父类的构造方法。Service没有做请求分发。
问题7:Java中禁止的包名(Prohibited package name)(禁止)
以java作为一级包名,则抛出安全异常:禁止使用的包名!
问题8:如何停止Tomcat服务器的运行?
在Idea中的run面板,点击左侧的红色按钮就可以
问题9:如何让Tomcat支持热部署?
对Tomcat进行配置,设置On 'update' action选项和下面的一个选项,当发现更新操作时,更新资源文件和class文件。自动编译 自动部署的功能。
问题10:如何修改Tomcat启动时,默认访问的页面?
Open browser:start up page。
问题11:Maven项目下HttpServletRequest 或 HttpServletResponse需引用的依赖包,或者直接写Servlet继承自HttpServlet。
Maven项目下HttpServletRequest或HttpServletResponse需引用的依赖包:servlet-api.jar,并将scope设置为provided。 在pom.xml文件中进行配置。
问题12:Maven项目标准结构:
main包下面1)java、2)webapp、3)resources
问题13:tomcat部署时war和war exploded区别?
1)、war模式这种可以称之为是发布模式,看名字也知道,这是先打成war包,再发布;
2)、war exploded模式是直接把文件夹、jsp页面 、classes等等移到Tomcat 部署文件夹里面,进行加载部署。因此这种方式支持热部署,一般在开发的时候也是用这种方式。
3)、在平时开发的时候,使用热部署的话,应该对Tomcat进行相应的设置,这样的话修改的jsp界面什么的东西才可以及时的显示出来。
问题14:tomcat 的本地位置,maven的位置,这两个是需要进行配置的
如何添加jar依赖?
问题15:在创建maven项目的时候,如果没有网络,就可能创建不成功! 找不到配置文件中的类型选择。
问题16:在项目里,如果类名称有红点,不能编译运行。
设置把当前文件夹当做源代码文件夹。
常见类名:
HttpServletRequest HttpServletResponse(这两个类上的方法比较多)
Servlet HttpServlet GenericServlet
HttpSession Cookie
ServletConfig ServletContext
RequestDispatcher请求转发器类
servlet-api.jar
把对象转化成json字符串的工具类 自己创建模拟数据。
Mysql中字符串为单引号括起来
batch(批量)
Maven的使用
maven中pom.xml文件的Scope的作用
Dependency Scope (表示作用域,jar包的作用范围)
<dependency>中还引入了<scope>,它主要管理依赖的部署。目前<scope>可以使用5个值:
* compile,缺省值,指的是编译范围有效,在编译和打包时都会将依赖存储进去,默认的依赖范围是compile 。
* provided,类似compile,期望JDK、容器或使用者会提供这个依赖。如servlet.jar。最后生成war包时不会加入,诸如:servlet-api,因为servlet-api,tomcat等web服务器已经存在了,如果再打包会冲突 。
* runtime,只在运行时使用,如JDBC驱动,适用运行和测试阶段;在编译的时候不依赖 。
* test,范围指的是测试范围有效,在编译和打包时都不会使用这个依赖。
* system,类似provided,需要显式提供包含依赖的jar,Maven不会在Repository中查找它。
什么是Maven?
Maven简单来说是一个项目管理工具;一切都是Module,Module之间可以相互引用依赖;IntelliJ IDEA有着单独的窗口可以完成Maven的操作(常见的Maven有哪些操作)
Maven需要安装,并且配置环境变量。 M2_HOME
新建Maven项目:
选择Maven模版(构建类型)webapp;创建过程中,配置Maven主目录。
创建好后的目录结构,IDEA创建了src/main/resources(自动创建)、src/main/java(手动创建)、src/main/test(手动创建)、以及pom.xml文件(自动创建)
按照Maven约定,项目的主目录位于src/main/resources、src/main/java中,测试目录位于src/main/test 中,所以我们在最终打包项目的时候,只包含主目录代码。
pom.xml这个文件是我们Maven项目的核心文件,POM(Project Object Model,项目对象模型)定义了项目的基本信息,用于描述项目如何构建,声明项目依赖。
project:是xml文件的根元素。
modelVersion:定义了当前POM模型的版本,Maven 2 或Maven 3 只能是4.0.0
groupId:定义了项目属于哪个组,一般来说这个和公司或组织关联,比如说,你所在的公司为mycom.那就应该定义为com.mycom.mymaven,mymaven为项目名称(包名)
artifactId:定义了当前Maven项目在组中的唯一id。
在Idea中新建Spring MVC项目:
首先打开web/WEB-INF目录下的web.xml文件,如下,把url-pattern的值改为/,用于拦截请求(url-pattern为 / ,说明拦截所有请求),并交由Spring MVC的后台控制器来处理。
<servlet>
<servlet-name>dispatcher</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>dispatcher</servlet-name>
<url-pattern>/</url-pattern>
</servlet-mapping>
2)激活基于注解的配置 @RequestMapping, @ExceptionHandler,数据绑定 ,@NumberFormat , @DateTimeFormat ,@Controller ,@Valid ,@RequestBody ,@ResponseBody等
编写Controller与jsp页面
MVC框架有model、view、controller三部分组成。model一般为一些基本的Java Bean,view用于进行相应的页面显示,controller用于处理网站的请求。
在项目的src目录创建一个包用于存放controller
@Controller
@RequestMapping(value = "/hello", method = RequestMethod.GET)
public class HelloController {
@RequestMapping(value = "/test", method = RequestMethod.GET)
public String printHello(ModelMap model) {
model.addAttribute("msg", "Spring MVC Hello World");
model.addAttribute("name", "yuntao");
return "hello";
}
}
1.@Controller注解:采用注解的方式定义该类为处理请求的Controller类;
2.@RequestMapping解:用于 定义一个请求映射 ,value为请求的url,method用以指定该请求类型,一般为get和post,代码中要调用printHello方法,即可访问 hello/test
3.return “hello”:处理完该请求后返回的页面,此请求返回 hello.jsp页面。